问题标签 [qpdf]
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.
pdf - 如何检查 pdf 的编码和 ToUnicode 是否正确完成?
我正在使用qpdf使用以下命令检查编码和 toUnicode 是否为 pdf 正确设置(编码),并在文本文件中查找“ToUnicode”字。目的是确保文件中的连字可以在 pdf 查看器上正确解码,例如 Adobe Acrobat Reader、pdf.js、pdfium 等。
我想知道这是否是正确的方法?有什么推荐的?
qpdf --stream-data=uncompress input.pdf output.txt
谢谢你。
pdf - 使用 Poppler 拆分和重新加入 PDF 会导致文件更大?(尽管剥离元数据)
如果我有一个多页 PDF,并使用优秀的poppler 包(使用 macOS 安装)将其拆分为单独的页面,brew install poppler
如下所示:
pdfseparate foo.pdf bar-%04d.pdf
然后重新加入生成的 bar-####.pdf 文件,如下所示:
pdfunite bar-*.pdf baz.pdf
生成的 baz.pdf 似乎具有相同的内容,但文件要大得多。
起初我假设是因为结果中会有重复的元数据或其他东西。但即使我从所有文件中剥离所有元数据,即从输入中,以及中间 bar-####.pdf 文件,以及生成的输出文件,使用exiftool和qpdf像这样:
然后生成的 baz.pdf 文件仍然比原始输入大得多。
这可能是什么原因?除了内容之外,多页 PDF 文件中还有什么?假设 popplerpdfseparate
并pdfunite
保持实际内容本身不变,并且我对元数据的剥离是正确的。
或者是否有可能以某种无损但次优的方式分解和重建 PDF 内容pdfseparate
?pdfunite
(我对 PDF 文件的内部结构知之甚少,但我可以想象有很多不同的方法来编码相同的内容)
顺便说一句,如果我使用exiftool somefile.pdf
它检查任何涉及的 PDF 文件确实根本没有显示任何元数据(并且线性化:是)。
pdf - Get number of pages in a Folder of every pdf and extract only part of pdf when bigger than 30 sites
is there a way to filter out all pds in a folder that have more than 30 pages like qpdf --pages *.pdf and when a documant have more than 30 pages, then extract only the first and last page and generate a new pdf with the first and last site of bevore created pdfs? thx
c++ - 在 Qt 中链接 qPDF
我需要填写 pdf 表格。为此,我找到并使用了 qPDF c++ 库。
我使用以下命令在 fillPdf.pro 上添加了 libqpdf.dll.a:
我还将 qpdf 库中的所有包含 .h 和 .hh 标头添加到我的项目中。
但我仍然有看起来像链接问题的错误:
总结代码所有符号都被qt创建者识别,我可以通过点击它们来访问它们:
更多信息 :
我正在使用基于 qt 5.9.1 (MSVC 2015, 32bit) 的 qt creator 4.4.0
有人能告诉我我哪里错了吗?
我的.pro
c++ - 使用 ffh.getFieldType() == "/Btn" 和 qpdf lib 检查复选框
当我使用 /Tx 填充文本字段时,我使用它工作的 qpdf。但它不适用于检查 checkBox :
我的代码: if (ffh.getFieldType() == "/Btn")
谁知道为什么它对 Btn 不起作用,尽管它对 /Tx 有效
/Tx 的日志,我在 outputPDF 上看到它
Btn 的日志:outputPDF 上没有任何内容
我知道 qpdf 在我的 pdf 中看不到 /Yes 或 /Off 但也没有 /Tx 并且在 qpdf 示例中没有 /Yes 或 /Off 文件名
需要帮助以获得好主意,谢谢
lib源代码的有趣部分:
qpdf .dll 的源代码:
我在 answare 上添加了一些澄清元素
提前感谢您的帮助!!!!
.net - qpdf 已开始在 qpdf_init() 上抛出“外部组件已引发异常”
截至今天,qpdf 停止在我的服务器上工作。它已经运行了几个星期没有任何问题,但是今天我收到“外部组件引发异常”错误,我没有在我的开发机器上遇到这个问题,只有在发布后才在服务器上。
我重新启动了 IIS,重新启动了整个机器,回收了应用程序池,尝试了 32 位和 64 位版本(我让程序试图以错误的格式加载 32 位 dll 的错误),尝试了旧版本的 qpdf,现在我'我很困惑,因为我什至没有从错误消息中得到线索。
该项目目前在 vb.net 中,用于重现此项目的代码如下:
引发错误的服务器的堆栈跟踪如下所示:
关于如何通过获取有关错误是什么的更多详细信息,或者可能要尝试更多的事情来继续努力解决这个问题的任何想法?
服务器是:
Windows server 2016 Version 1607 (OS Build 14393.2828)
Internet Information Services (Version 10.0.14393.0)
我从这里下载了 qpdf v 8.4.0 msvc64
pdf - PDF:混淆文本编码以防止自动解析和复制+粘贴
我想在我的网站上提供 PDF,但想防止可能不尊重正常 PDF“安全性”的机器人自动解析。原因是这也是商业出版的,我可以分享以供“个人使用”,但不能以这种方式广泛使用。我最初是从 Word 创建 PDF。
我曾尝试使用带有 dNoOutputFonts 选项的 Ghostscript 将文本转换为字形,但结果非常大(从 2.5 MB 到 180 MB)。加扰文本编码似乎是一个不错的选择,但我几乎找不到任何讨论这个的帖子。似乎有一个商业解决方案,但我无法找到一种方法来做到这一点,例如使用 Ghostscript 或 qpdf。关于如何实现这一目标(或替代解决方案)的任何建议?
操作系统:Windows 10 64bit Ghostscript 可用版本:9.18、9.27
pdf - 不同的pdf对应不同的cmap,如何制作一个全局的cmap,以便处理多个具有相同fontmap的pdf到/toUnicodemap
我有很多 pdf,复制时会呈现不正确的文本,因为不好
字体映射到 unicodemapping
像这样的东西:原创 - निर्वाचक
复制时渲染:ननरररचक</p>
我经历了各种答案:
使用 itextsharp 阅读 PDF,其中 PDF 语言为非英语
使用 PDFminer 解析 pdf(梵文脚本)会给出不正确的输出 [重复]
我遵循了这个答案并习惯于qpdf
获得所需的内容pagecontentstream
,并且cmaps
在使用 . 阅读时得到了Vim
.
但是,现在我面临的问题是每个pdf都有自己不同的/font 到 /toUnicode映射,我想为特定脚本(例如梵文)的 cmap 提供一个全局映射。
我也在考虑替换以全局方式!&#
映射到的字符流。unicode
会喜欢一些关于如何解决这个问题的想法。
下面给出了两种不同 pdf 的Cmaps :
对于pdf 1:
对于pdf 2:
我还看到了以下问题/答案:
从一个 PDF 中提取到 Unicode 映射并在另一个 PDF 中使用
由于 ToUnicode 映射,PDF 文本提取返回错误字符
此外,pdf 的字节内容流是这样的:
pdf - 通过 SendGrid 发送受密码保护的附件
我想使用用于 nodejs 的 SendGrid 将受密码保护的 pdf 作为电子邮件附件发送。
我尝试使用密码保护我的 pdf qpdf
。这将输出一个在本地受密码保护的新 pdf 文件。然后,我尝试从此文件中读取数据,并将其作为 SendGrid 文档的附件内容发送。
我收到带有 pdf 作为附件的电子邮件,但它没有密码保护。这可能与这两个库有关吗?
node.js - 无法使用 node-qpdf 在节点中解密 PDF
我们需要使用 node 解密受密码保护的 PDF 文件。我们正在使用 node-qpdf。这是我们的场景。
1)。我们正在获取受密码保护的 PDF 文件作为输入。2)。使用 QPDF 并使用可用密码,我们正在尝试对其进行解密。3)。最后,我们得到损坏的 PDF 文件。
我们正在关注给定的链接以供参考:a)。https://www.npmjs.com/package/node-qpdf
在解密部分,我们可以看到以下代码:
运行相同后,我们得到错误:
对于回调问题,我们还尝试将代码更改为:
但得到错误:
我们还尝试了以下代码:
=============
=============
这段代码运行成功。
现在我们想使用节点模块 [node-qpdf] 完全实现相同的功能,但这是失败的 [正如解释的那样]。
请分享您对这个问题的想法。
我们也在 docker 镜像上实现了相同的功能,所以如果我们将 qpdf 安装在主服务器上,容器是否能够获取该二进制文件?我检查了这篇文章:https ://hub.docker.com/r/mgodlewski/qpdf 但我有点困惑。
因此,还可以根据 qpdf 的 docker 图像共享分辨率。