问题标签 [flying-saucer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1061 浏览

xhtmlrenderer - 飞碟(xhtmlrenderer)分词

我遇到了 Flying Saucer(xhtmlrenderer) 的错误,其中一行末尾的单词被分成两行,例如。思维分裂为瘦国王,国王出现在下一行的开头。这是非常令人费解的,因为拆分似乎没有遵循某种模式,而且似乎很少随机发生,例如每生成 20 个 pdf 就有 1 个。

使用过飞碟的其他人是否遇到过类似的问题?

0 投票
3 回答
22283 浏览

java - 使用 ITextRenderer 从带有非拉丁字符的 HTML 生成 PDF 不起作用

这是我调查的第二天没有结果。至少现在,我可以问一些非常具体的问题。

我正在尝试使用iText编写一个有效的 HTML 代码,该代码在 PDF 文件中包含一些非拉丁字符,更具体地说,使用来自Flying Saucer的ITextRenderer

我的简短示例/代码首先使用此值初始化字符串变量 doc:

这是我用于调试目的的代码。我将此字符串保存到 HTML 文件,然后通过浏览器打开它,以仔细检查 HTML 内容是否有效,并且我仍然可以读取希腊字符:

下一步是尝试将此值写入 PDF 文件。这是我的代码:

我的代码的最终结果是:

在 HTML 文件中我得到:一些希腊字符:Καλημέρα 一些希腊字符(预期)

在 PDF 文件中,我得到:一些希腊字符:一些希腊字符意外- 希腊字符被忽略!!)

依赖项:

  • java版本“1.6.0_27”

  • itext-2.0.8.jar

  • de.huxhorn.lilith.3rdparty.flyingsaucer.core-renderer-8Pre2.jar

我也尝试过更多的字体,但我想我的问题与使用错误的字体无关。任何帮助都非常受欢迎。

谢谢

0 投票
3 回答
9009 浏览

java - 用于以编程方式将 HTML 页面转换为图像/PDF 的最佳 Java 库

我正在寻找最好的 Java 库,我可以将它传入一个 URL 并让它创建一个网页外观的图像,就像它在浏览器中一样。我尝试了flysaucer ,但似乎几乎每个网页都破坏了它——它甚至不会渲染 www.google.com 或 yahoo.com——我可以让它渲染的唯一网站是 www.w3c.org!

关于更好的工具使用的想法,或者可能允许飞碟在 xhtml 中更加宽松是可以接受的?

0 投票
1 回答
12049 浏览

java - 从飞碟生成的pdf中的servlet渲染图像

我正在使用 flysaucer 通过返回生成的 pdf 文档的 servlet 将 xhtml 文档呈现为 pdf。xhtml 文档具有从另一个 servlet 请求的图像。图像 servlet 在返回适当的图像之前检查谁已登录。下面的代码显示了如何请求图像:

我的问题是图像的 http 请求来自 pdf 渲染器而不是登录用户,因此图像 servlet 不知道谁登录,因此不会返回所需的图像。

我目前正在使用下面的代码来呈现 xhtml 文档:

我需要在请求图像 servlet 时维护用户会话,或者为渲染器提供用于该特定 xhtml 元素的图像。我认为后者可以使用 a 来完成,ReplacedElementFactory但我无法挖掘出任何可以帮助我的示例代码。

0 投票
3 回答
7072 浏览

css - @font-face 与飞碟

我希望有人可以帮助我……看来我想做的事情应该很简单,但是我已经与这件事斗争了一天多,而且没有想法。我在 StackOverflow 和整个 Internet 上找到了很多信息,但没有什么能帮助我解决这个问题。

我正在尝试使用 itext-2.0.8 和 core-renderer-R8 来创建带有嵌入字体的 PDF。我正在尝试从有效的 XHTML 生成 PDF,并使用 @font-face 样式标签嵌入字体。我已通过在浏览器中打开文件确认 @font-face 标记包含字体。而且我总是小心地保持 TTF 字段与 XHTML/CSS 文档相关。

为了尝试解决这个问题,我创建了一个小的“Hello World”类型程序来尝试嵌入字体。我采取了两种不同的方法,但都未能产生预期的结果。我在http://christopherluft.com/FlyingSaucer.zip放置了这个小 Eclipse 程序的副本

该程序在这两种情况下都会生成 PDF,但都没有按预期嵌入 PDF。使用带有 setDocument 的文件的第一种方法不会产生错误,但也不会产生字体。第二种方法生成 PDF,但在调试输出中显示 java.net.MalformedURLException。

我尝试了各种路径和 URL 的多种排列方式;然而,没有一个不能产生预期的结果。我的怀疑是我无法理解 ITextRenderer.setDocument; 但是,我很难找到任何适合我的用例的文档。

我尝试的第一种方法是:

我使用的第二种方法(更接近我们在应用程序中使用它的实际方式)是:

XHTML 中的 @font-face 包含如下所示:

现在我觉得这是一个非常常见的用例,我想我只是没有执行一个简单的步骤才能让它工作......问题是我已经有一段时间了,我认为我是无法透过树木看到森林。任何人可以为我提供的任何帮助将不胜感激。感谢您的时间。

0 投票
0 回答
441 浏览

java - 从客户端发送动态图像/谷歌地图到服务器端

我正在开发一个 web java 应用程序,我想在服务器端使用一些动态图像来使用 Flying Saucer 生成 PDF。

当我在服务器端生成 PDF 时,Flaying Saucer 会尝试加载图像,例如:

但是服务器无法访问“https://maps.googleapis.com/maps/api/staticmap?parameters”并且这样的 url 不在我的服务器中,因此没有加载图像。PDF 已生成并交付给我的用户,但没有图像。

所以我想上传用户在点击打印按钮时看到的图像。

有没有办法做到这一点,例如使用javascript?

提前致谢。

PS:我们可以使用高级版

0 投票
2 回答
5121 浏览

itext - 使用飞碟/iText 进行图像渲染

我正在尝试从包含 html 代码的 Java 字符串生成 pdf 文档。我使用“Freemarker”作为模板引擎来生成 html 内容,然后使用“Flying-Saucer”将生成的 html 转换为 pdf。我的问题是生成的 pdf 中没有呈现图像。关于我如何生成的确切细节如下:

生成的 html(仅显示相关部分)是:

此代码作为部署在 Tomcat 上的 War 运行。作为 tree 命令的输出(在 WEB-INF 中运行),War 中图像的位置是:

为简洁起见,我截断了输出。请帮忙。

谢谢和问候, 罗希特

0 投票
1 回答
4293 浏览

java - Java/iText/Flying Saucer:将包含 svg 标签的 HTML 转换为 pdf

我正在尝试从 HTML 生成 Java 中的 pdf 文件。HTML 代码包含由 Google Charts API 生成的 svg 标记,用于显示柱形图。

我试着用 Flying Saucer R8 来做这件事:

结果是生成的 PDF,其中包含图表的轴值,但不包含图表本身;即不包括图表图像。

任何想法或建议都会非常有帮助。

谢谢,肖恩

0 投票
4 回答
13521 浏览

html - CSS到PDF,飞碟中的css:-fs-table-paginate导致border-collapse:collapse无效

现在我正在使用xhtmlrenderer将 html 转换为 PDF。我的maven依赖如下:

我试图在每个 PDF 的页面中重复表头。所以我使用 css:

CSS 的解释在这里

  • 当与 value 一起使用时-fs-table-paginate: paginate,修改表格布局算法以在后续页面上重复表格页眉和页脚,并改善跨页单元格的外观(例如通过关闭和重新打开边框),但仅此而已。如果表格的最小宽度比页面宽,它将被切掉。

  • 添加上面的 css 时,我的表格边框被分离。

在此处输入图像描述

  • 在我添加 css 之前,表格的边框被折叠成单边框。

在此处输入图像描述

所以我认为这table { -fs-table-paginate: paginate; }使我的表border-collapse:collapse无效。

那么我能做些什么来修复这个错误,让表格的边框崩溃呢?

我的表格应用 CSS 如下

并且-fs-table-paginate: paginate; 有时添加时表头会不正常。标题将无法正确显示。而下面的表头会增加一个额外的空行。如下: 在此处输入图像描述

有人有什么想法吗?

0 投票
2 回答
14624 浏览

java - 使用来自 html 的 Flying-Saucer 在 PDF 中渲染嵌入的图像

我有一个 xhtml 文档,我正在使用飞碟将其转换为 PDF。xhtml 有几个标签,这些标签内嵌了 base64 编码的图像。xhtml 的源是动态的,因此图像标签所在的结构可能会有所不同。这是标签的样例:

当我在浏览器中查看 html 时,图像显示正确,但是 img 元素不会在最终 PDF 中呈现。这是我将其渲染出来以创建 PDF 的方式。

谁能让我知道我应该采取什么方法来实现这一目标?我看到了这个帖子,但是,我使用的是内联图像,所以我看不到如何使用 Edd 的解决方案来完成这个。

提前致谢