问题标签 [pdfobject]

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

javascript - 使用 PDFObject 下载具有动态文件名的 pdf

我正在尝试将 PDFObject用于我的小册子,我想要用户选择车辆并下载她/他选择的特定车辆。这是我的代码:

这是我的工作javascript:

我想将此传递$('form').attr('action', '../../vehicles/' + value +'/');给 PDFObject,以便它查找正确的文件名来下载文件。

0 投票
1 回答
949 浏览

c# - 如何使用 /ASCIIHexDecode 解码图像

我正在尝试使用 iTextSharp 从 PDF 文件中提取图像。

该过程适用于我拥有的大多数 PDF 文件,但其他一些文件失败。

特别是,我观察到失败的 PDF 具有带有过滤器/ASCIIHexDecode/CCITTFaxDecode.

如何使用此过滤器解码图像?

仅供参考,我的图像提取例程是(pg对象正在使用PdfReader.GetPageN):

确切的例外是:

仅供参考:这是一个导致麻烦的示例 PDF:test.pdf

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 投票
1 回答
557 浏览

javascript - 使用 pdfobject 将 pdf 置于模态引导程序中 - 递增文件

我正在尝试在模态引导程序中显示 pdf。我在我的应用程序中使用数据表,我的表头由文档标题、类别、日期和文档视图组成。在“查看文档”列的正文中,我有一个按钮,当用户单击该模式时,会打开一个模式,并且在其中也会打开 pdf。

我表中的每一行都有一个不同的 pdf 文档,这是我的问题,我无法将引用每一行的 pdf 放在其各自的模态中。在任何行上打开的 pdf 始终是我表中添加的最后一个文档。

在该应用程序中,我使用的是 firebase,pdfobject 插件为模态添加 pdf 和引导程序。

我的代码如下:

Javascript:

HTML:

0 投票
2 回答
954 浏览

javascript - 如何跳转到呈现的pdf页面

我使用 pdfobject 和 forcePDFJS,它使用 pdfjs viewer.js 来呈现 pdf。一旦它们被呈现,我需要能够在不重新加载文档的情况下跳转到页面。文档可能非常大

我已经看到一些关于使用 PDFApplicationViewer.pdfview.currentPageNumber 的提及。但我还没有看到如何正确使用它的好例子

我见过两个使用 PDFApplicationViewer 的例子 1. PDFApplicationViewer.pdfview.currentPageNumber = pagNum; 2. document.getElementById('mycanvas').contentWindow.PDFApplicationViewer.pdfview.currentPageNumber = pagNum;

尽管第二个更有意义我不确定元素中的 contentWindow 对象来自哪里。我假设 pdfobject 嵌入了一些我也可以访问但我无法弄清楚的东西..

另外,因为我真的找不到很多关于这个..这甚至可能吗..

出于时间限制的原因,我不想使用 pdfjs 组合一个新的查看器。我喜欢 viewer.html 附带的内容。我只需要跳转页面而无需重新加载

0 投票
2 回答
598 浏览

javascript - PDFObject 在浏览器中未正确显示

我正在尝试使用 PDFObject 呈现嵌入的 pdf 文件。在后端我发送pdf如下

之后,我在前面得到如下响应

在 pdf 的浏览器中得到以下结果图像

你知道怎么解决吗?

0 投票
0 回答
1369 浏览

javascript - 如何在浏览器内置 PDF 查看器中为 base64 pdf 自定义文件名

我正在从 base64 字符串嵌入 PDF,如下所示:

这适用于 Firefox 和 Chrome。

我的问题是我无法自定义 pdf 下载操作的文件名。请注意,我使用的是filename参数 ( 'data:application/pdf;filename=MY_CUSTOM_FILENAME.pdf;...),但它被忽略了。

在 Firefox 上,我收到此警告(相关代码在此处):

“getPDFFileNameFromURL:出于性能原因,忽略“数据:”URL。”

并且 pdf 的文件名是默认的document.pdf.

在 Chrome 上,我没有收到任何警告,但文件名坚持默认的download.pdf.

那么,如何自定义文件名呢?那可能吗?

我尝试了这些方法,但没有成功:

  • 检查了 PDFObject,这是一个库,基本上完成了我在这篇文章中所做的工作(在写这篇文章时发现了它!),但它们似乎不允许对文件名进行任何自定义。

  • 我试图在一个 pdf 上加载 pdf <iframe>,然后操作它的内容。但我得到(至少在 Firefox 中)一个跨域错误

  • 似乎 Mozilla 的 PDF 查看器 ( PDF.js ) 也会检查Content-Disposition标题以猜测 pdf 的文件名。是否有可能以某种方式模拟 HTTP 请求(总是在浏览器中本地,因为我使用 base64 字符串)并使用它来加载 pdf 查看器?

我知道解决方案可以直接使用PDF.js,但如果可能的话,我希望避免这种依赖(以及编码,因为实现它并不那么简单)。最后,我只想自定义文件名!

谢谢!


编辑:下面的代码片段在 Chrome 上不起作用(无法将 'data:application/pdf;filename=MY_CUSTOM_FILENAME.pdf;base64,....' 作为插件加载,因为加载插件的框架是沙盒的.),但如果您打开一个计划 .html 文件,它就可以工作。


编辑 2:我找到了一个解决方案,但它只适用于 Firefox。

我们将我们的base64字符串转换为 aBlob 解释here,将其转换Blob为Url 并添加一个filename参数到这个url(使用'#'解释here)。

所以,loadPdf()函数是这样的:

从 Firefox 的 Pdf 查看器下载时,我们将成功看到 MY_CUSTOM_FILENAME.pdf。

但在 Chrome 上,我们会看到 Blob url 的哈希值。和:

  • 似乎不可能改变那个哈希
  • 即使我使用<iframe>(而不是<object>)来加载我的内联 pdf,Chrome 也会使用<embed>. 所以,没有办法“破解”它。

从这个角度来看还有什么其他提示吗?

0 投票
1 回答
717 浏览

javascript - JS插件避免从pdf复制

我正在寻找一个 JS 插件,它可以让我展示 1. Web 浏览器中的 PDF 文档 2.(最重要)该 PDF 中的文本不得被其他人复制

我尝试使用允许我将 PDF 文档嵌入到我的 HTML 文档中的 PDFObject 这是一个代码

在 acrobat sdk 中不存在此“allowcopy”参数(用于打开文档的参数)中,我正在寻找这样一种用例/参数,该用例/参数被认为是错误的,并且有人无法复制我的内容。

0 投票
1 回答
75 浏览

javascript - 使用输入类型文件的 PDFObject

我可以使用此代码从服务器加载 pdf 文件

但我要做的是加载从imgPreview输入文件类型附加的pdf文件

0 投票
1 回答
160 浏览

javascript - 如何在工具栏中隐藏/不显示 PDF 标题

有什么方法可以访问我使用 pdfobject.js 嵌入的 PDF 文件的元数据?我想替换/更改它的标题,因为它不对应于它的文件名。示例是下面的片段。文件名是“D1000SPN.pdf”,与显示的标题不同。我试图搜索但没有找到。但是,因为我找不到解决方案。我决定不再在其工具栏上显示 PDF 标题或将其隐藏。我是新手,所以请与我裸露。

示例图像