问题标签 [pdf-rendering]

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 回答
688 浏览

android - PDF 渲染器类不在 Android SDK 21 上渲染 PDF

这是我用来呈现存储在“Download/Adobe Reader/answerkey.pdf”中的名为“answerkey.pdf”的 PDF 的代码

这是我制作的 layout.xml 文件 -

出于某种原因,PDF 只是没有显示在屏幕上,我一直得到一个白色的空白背景。我究竟做错了什么?路径不正确吗?我的设备上没有 SD 卡。还是我对位图做错了什么?

0 投票
1 回答
1014 浏览

android - Android v23 PDFreader 不断崩溃

我是新来的,但是想知道是否有人可以指出我正确的方向。这是我的应用程序的一部分,我想在其中从资产中读取 PDF 文件并显示在片段中。使用的安卓版本 23.4.0

}

Logcat 错误信息

0 投票
1 回答
1242 浏览

ios - CGContextDrawPDFPage 内存泄漏 - 应用程序崩溃

当我用 Instruments 分析我的应用程序时,我发现分配的数据CGContextDrawPDFPage并没有立即释放。应用程序因CGContextDrawPDFPage.

在此处输入图像描述

在此处输入图像描述

您好,这是我在 CATiledlayer 中绘制 pdf 的代码

0 投票
1 回答
481 浏览

android - 在可滚动列表中显示多个位图的最佳实践

我正在尝试做的事情:

我使用 Android PdfRenderer 类将单个 pdf 页面渲染为位图。(渲染票价不是问题)

不,我想在屏幕上显示整个第一页和第二页的一半。

我的问题? 最好的方法是什么?- 我应该使用带有多个 ImageView 的 RecyclerView - 我应该使用两个带有滚动的 ImageView - 性能很重要,所以应该是高效的

我很高兴有任何意见或想法。

0 投票
0 回答
1115 浏览

android - Pdf渲染缩放页面

我正在做一个项目,我需要在我们的应用程序中显示 PDF 内容。我正在尝试使用 Android API 的 PdfRenderer。现在,我可以将 pdf 页面显示为位图并在所有其他页面之间移动。

但我不明白如何在页面上实现缩放。我的意思是我知道如何缩放图像,但是对于 pdf,它需要在每个缩放级别(例如平铺?)重新计算。在缩放时,我想我需要用正确的 Rect 和 Matrix 重新计算位图,这就是我所缺少的。

是否有人已经这样做或类似的?

PS:我想自己制作,但请随时向我发送开源库,谢谢

0 投票
0 回答
60 浏览

itext - 编辑 pdf 文件的来源,它损坏了 pdf(无法打开)

从文本编辑器打开一个 PDF 文件,我想在下面修改这个对象的内容:

759 0 obj ($Revision:: 1.0 $) endobj 774 0 obj

($Revision:: 1.0 $)($Revision::20171219200322$),即对象的总大小增加了 2 个字符。

但是,此更改会破坏 PDF。

这是怎么发生的?我猜PDF中还有其他地方依赖于obj的大小。

有人可以解释一下吗?

非常感激

===================更新==================

感谢以下评论。

我试图在整个 pdf 文件中查找外部参照表,但只找到了如下内容:

... endobj startxref 116666 %%EOF

在文件的底部。那里没有实际的桌子。任何想法?

谢谢您的帮助。

===================更新 22/12/2017 ==================

现在我能够找到需要使用 iText 修改的 AcroFields。但是,我不想使用AcroFields.setField(String name, String value)方法来设置字段值,我想修改PdfString该字段所引用的对象的值。我可以通过调用PdfReader.getPdfObject(item.getMerged(0).get(PdfName.DV))它来获取对象,它给了我一个 PdfString 对象,但我找不到改变它的值的方法。任何想法?

0 投票
2 回答
3192 浏览

java - 使用飞碟 PDF 渲染将格式错误的 HTML 转换为 PDF

在项目GitHub中,我试图将任意 HTML 字符串转换为 PDF 版本。通过转换,我的意思是解析 HTML,并将其呈现为 PDF 文件。

为了实现这一点,我正在使用Flying Saucer PDF Rendering,如下所示:

主.java

在上面的代码中,如果我使用存储在ok变量中的 html 字符串(这是一个“有效”的 html),它会正确创建 PDF(如果您使用ok变量运行 GitHub 项目,它将sample-file.pdf在项目文件夹中创建一个文件,其中包含一些呈现的html)。

现在,如果我使用html变量中的值(带有无效标签的 html、标签可能未正确关闭等),它会引发以下错误(错误可能因值不正确而异):

现在,据我了解,这是因为 html 字符串的“无效”部分。

重要笔记:

  • 分配给变量的值okhtml这里只是问题的占位符。真实的在这里
  • 在实际项目中,html 字符串是来自用户的输入。是的,他/她必须知道该放什么,但是,当然,他/她可以在 html 构造中犯一些错误,所以我必须处理这个。

问题)

  • 有什么方法可以“告诉” Flying Saucer PDF Rendering忽略/自动完成/清理自身/或任何其他“无效”部分并继续创建 PDF 文件(首选)
  • 有没有更好的方法可以用来克服这个问题。
0 投票
0 回答
917 浏览

android - Android PdfRenderer 抛出 IOException

我的应用程序列出了 PDF 文件,当用户选择 PDF 时,应用程序会打开它。如果用户选择了损坏的 PDF 文件,则 PdfRenderer 会抛出IOException(这很好,因为我捕获了该异常并通知用户该文件已损坏)。

但问题是,发生这种情况后,IOException用户尝试打开的所有 PDF 文件都会被抛出(即使是未损坏的文件)

相关代码

堆栈跟踪

为什么会这样?我怎样才能解决这个问题?

注意:我已经尝试将 pdf 文件复制到缓存目录。这没什么区别。

PdfRenderer google sample repo 中的相同问题

0 投票
0 回答
300 浏览

flying-saucer - 使用 OpenPDF 库在 FlyingSaucer 上将 XHTML 渲染为 PDF 速度很慢

有没有机会在 FlyingSaucer /OpenPDF 中提高 XHTML 到 PDF 的渲染速度?我正在使用 9.1.20 版的 fly-saucer-pdf-openpdf 库。简单的 XML 花了将近 5 秒。使用 fly-saucer-pdf 库耗时 0.5 秒。

XML

0 投票
0 回答
91 浏览

java - 为 PDFBox 渲染注册其他字体

从 2.0 开始,PdfBox 可以渲染嵌入的字体。但是,我无法影响 PDF 的输入内容,并且某些 PDF 没有嵌入字体。在这种情况下,使用系统上安装的字体。现在由于某些限制,我也无法在该(服务器)系统上安装字体。因此,如果可以在类路径中注册作为 jar 文件提供的其他字体,那就太好了。我试过了

但是,这似乎仅用于创建新文档。我偶然发现了这篇文章,但是解决方案是使用嵌入的字体。所以我考虑编写自己的FontDirFinder(即使名称不会 100% 正确),但 FontFileFinder 类(方法)中的determineDirFinder()实现(还)不允许注册自己的Finder. 所以补丁是必要的。

但在开始工作之前,我想问一下是否有可能使 PDFBox 知道字体文件(不嵌入或应对/使用系统字体)?

所以基本上我不能改变PDF而不是服务器字体目录/基础设施。但我可以提供额外的字体作为部署的一部分(jar 文件的一部分等)。(我正在寻找一种让 PdfBox 识别这些的方法)