问题标签 [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 回答
1537 浏览

java - 使用 Flying Saucer ITextRenderer 渲染基本 HTML(无内联 CSS 样式)问题

我对飞碟很陌生。我正在使用 Java 中的 ITextRenderer 类生成 PDF。我面临的问题是,我需要转换的 HTML 包含没有内联 CSS 样式的基本 HTML 标签。例如:-

我注意到,在上面的 HTML 中,字体标签的属性(大小、颜色等)在 PDF 中没有影响。然而,我也一直在尝试使用内联 CSS 样式对 HTML 进行硬编码,效果非常好。但我的问题是由于几个原因我希望上述 HTML 属性起作用......

任何有用的指针将不胜感激。

谢谢,

曼吉里什语

0 投票
1 回答
1582 浏览

java - 将 XHTML 和自定义标签读入 DOM 树

我正在使用飞碟从 XHTML 转换为 PDF,它运行良好,但现在我想添加书签,根据 fs 文档,它应该像这样完成:

那应该放在 HEAD 部分,我已经这样做了,但是 SAXParser 不会再读取文件了,说:

我设置了本地实体解析器,甚至将书签添加到 DTD,

但它只是不会解析,我没有想法,请帮忙。

编辑

我正在使用以下代码进行解析:

编辑

这是 LocalEntityResolver:

我的文档构建器工厂实现是:com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl

0 投票
1 回答
2122 浏览

session - JSF 2.0 在当前会话中获取 xhtml 页面的内容

我正在尝试使用飞碟将 JSF 页面转换为 PDF。

在 /report.xhtml 页面中,我有一些支持 bean 参数,这些值应该出现在 pdf 中。但他们没有。如果我访问 xhtml 页面,则值显示正确。我认为这是因为 renderer.setDocument(String uri) 为从指定 url 加载文档创建了新连接(和新会话)。如何在当前会话中获取 xhtml 页面内容(带有所有参数值)?

0 投票
3 回答
4435 浏览

html - 告诉 Flying Saucer 或 BIRT 缩放 html 以适应单个 pdf 页面

我的应用程序生成 HTML 报告。用户希望报告适合单个 PDF 页面 - 无论您需要多少缩放。

目前,他们在 Internet Explorer 8 中呈现页面,并在“打印预览”窗口中手动定义自定义缩放级别,然后将页面打印为 PDF。我需要自动执行此操作。如何做到这一点?

这些报告实际上是由 BIRT 创建的,因此基于 BIRT 的解决方案也很好。使用 BIRT 缩放选项缩放文档以适合高度,但不适合宽度(因为它首先呈现 HTML 然后应用缩放)。

现在我正在尝试使用 Flying Saucer 将 BIRT 生成的 HTML 转换为 PDF。

我看到了与 abcPDF (.NET) 和 CF8(见下文)相关的类似问题,但我需要一个基于 Java 的解决方案,而且我无法将相同的技术用于 Flying Saucer 或 BIRT。

告诉 abcPdf 缩放 html 以适应单个 pdf 页面

将 PDF 缩放为单页

0 投票
3 回答
27288 浏览

html - 如何在使用 iText 和飞碟的 HTML 创建的 PDF 中嵌入字体?

我在将波兰字体嵌入从 HTML 转换的 PDF 时遇到问题。

我的 HTML 代码在正文中有样式:

我尝试了两种将此类 HTML 转换为 PDF 的方法:

  • 带有 htmlcleaner 的 FOP
  • 带有飞碟的 iText

对于 FOP,我可以将所有使用的字体添加到其配置文件中,然后在创建的 PDF 中嵌入这些字体(如果在 HTML 中使用字体)。在生成的 PDF 中,我使用 Identity-H 编码的 Tahoma 字体。看起来不错——所有波兰字母都按预期显示。

然后我尝试使用 iText 进行这种转换:似乎更简单,因为我不需要为每个 HTML 创建转换。不幸的是,我不知道如何将使用过的字体嵌入到生成的 PDF 中。我发现的大多数示例都是从头开始创建 PDF,但我不知道如何将这些方法应用于飞碟 ITextRenderer 或转换中使用的其他对象。

我当前的代码尝试PDFCreationListener.preOpen()通过获取ITextFontResolver和添加字体来添加字体fs.addFont(path, true);。但是我创建的所有 .pdf 都没有我想要的字体。

第二个问题是结果 PDF 没有波兰字母。飞碟或 iText 有问题吗?Acrobat 显示创建的 PDF 文档使用带有 Ansi 编码和 ArialMT 作为字体的 Helvetica。我觉得这个 Ansi 编码不好。如何设置波兰语编码 (Identity-H)?

0 投票
1 回答
2341 浏览

java - 生成pdf文件的问题

我正在尝试使用 Flying Saucer 从 xhtml 生成 pdf 文件你知道为什么这段代码总是抛出异常吗?

0 投票
1 回答
1683 浏览

pdf-generation - 如何让飞碟生成背景透明的图片?

我正在使用 flysaucer 将 HTML 渲染为图像,使用 Java2DRenderer:

然后我将渲染的图像添加到 PDF 文档中,将其缩放以适合整个页面。

问题是 FS 呈现的图像背景颜色为纯白色......所以打印机用非常浅的灰色填充整个页面(我相信缩放会将纯白色转换为浅灰色)。

如何强制飞碟生成透明图像,这样我就可以避免这个问题?

0 投票
1 回答
1520 浏览

flying-saucer - 在受保护的站点上,图像不会呈现为 pdf - itext Flying Saucer html to pdf

在受保护的站点上,如果您有以https://www.domain.com/appName/images/image.jpg开头的图像 src, 则它不会将图像呈现为 PDF。

我正在使用 itextrender 类从 html 代码呈现 pdf。

如果在 http 等不安全的站点上使用相同的图像,则它可以正常工作。

我已经实现了 NaiveUserAgent 类并在下面的方法resolveAndOpenStream、getImageResource、resolveURI 覆盖

我错过了什么吗?或者有什么办法可以克服这个问题?

0 投票
1 回答
2284 浏览

java - 从 html 转换为 pdf 和图像 java

好吧,我确实阅读了关于这个主题的几乎所有问题!

我需要一个 API - 而不是将高质量从 PDF 转换为图像的工具。

所以我没有找到任何直接的工具,我使用了:HTML to PDF and PDF to image。

我试过了:

  • PDF渲染器
  • FDFBOX
  • PDFONE
  • HTML2图像
  • 飞酱
  • 文本
  • 杰佩达
  • PDF皇冠

只有商业的(PDFCrown 和 PDFBox)取得了良好的效果。

我认为Java是用于开源项目的!

我是否缺少任何从 HTML 打印出高质量图像的库(也可以来自 PDF,我可以支付一半的费用..)

0 投票
3 回答
25406 浏览

java - 使用飞碟 (xHTMLRenderer) 和 iText 生成页眉/页脚

我意识到以前有人问过这个问题(我查看了所有解决方案并尝试了所有解决方案),但我仍在尝试生成一个带有在每一页上重复的页眉和页脚的 pdf 文档。

我正在使用flying saucerR8,iText2.0.8我尝试了许多不同的方法来让它工作,但到目前为止无济于事。我测试的一些方法是https://gist.github.com/626264,使用运行元素和边距框 http://pigeonholdings.com/projects/flyingsaucer/R8/doc/guide/users-guide-R8.html# xil_40(css3 功能),飞碟 r7 的指南,不适用于 r8 http://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer -and-itext.html#page-specific-features,还有许多其他方法对我不起作用。

我的页眉div包含其他 2 个带有图像的 div,而我的页脚仅用于页码。html 被放入一个StringBuffer名为 buf 的文件中。

我的 pdf 生成很好,除了页眉只出现在第一页而页脚只出现在最后一页的底部。当我将 html 通过 w3c 验证器时,结果很好,但是当我使用他们的 CSS 验证器时,它说它们是解析错误@page { size:8.5in 11in; padding:1em; @bottom-left { content: element(footer); } }

据我从所有正在阅读的指南中得知,这很好。我还听说 W3C CSS 验证器对于 CSS3 规范是不完整的,所以我认为是验证器错了。

如果有人能给我一些关于在哪里寻找或想法的提示,那将是我的一周:)

ps 必须使用飞碟 R8 和/或 iText 2.0.8