问题标签 [pdf-manipulation]

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 投票
8 回答
29009 浏览

pdf - 如何从命令行将 PDF 转换为灰度以避免被光栅化?

我正在尝试将此 PDF 转换为灰度:https ://dl.dropboxusercontent.com/u/10351891/page-27.pdf

带有 pdfwrite 设备的 Ghostscript (v 9.10) 失败并显示“无法将颜色空间转换为灰色,将策略恢复为 LeaveColorUnchanged”。信息。

我可以通过中间 ps 文件(使用 gs、pdftops (v 0.24.3) 或 pdf2ps)对其进行转换,但这种转换会光栅化整个 PDF。我尝试了很多其他方法:使用 qpdf (v 5.0.1) 或 pdftk (v 1.44) 规范化 PDF,将其转换为 svg 文件并通过 Inkscape (v 0.48.4) 转换回 PDF……似乎什么都没有去工作。

我发现的唯一一种解决方案(在生产环境中不适合我)是在我的 Mac 上使用 Preview 并手动或使用 Automator 脚本应用 Quartz Gray Tone 过滤器。

有人找到另一种工作方式吗?或者是否可以规范化 PDF 或修复问题以防止 Ghostscript 消息“无法转换颜色空间...”或以其他方式强制颜色空间?

谢谢!

0 投票
1 回答
548 浏览

c# - 中文字符代替文本进入元数据称为“Producer”

使用 iTextSharp 编辑 pdf 的元数据时遇到问题。我用 Word 将 word 文档保存为 pdf 格式。名为“Producer”的字段由文本“Microsoft Word 210”填充。之后,我使用 ITextSharp 编辑元数据,iTextSharp 尝试编辑此字段以添加“使用 iTextSharp 4.1.6 修改”的文本。

结果是Producer(þÿMicrosoft® Word 2010; modified using iTextSharp 4.1.6 by 1T3XT)。在 adobe reader 中,文档属性中的字段 PDF Producer 显示中文字符。

如果我手动删除字符,Adobe 可以读取该字段þÿ

你知道为什么我有这个问题吗?我能做些什么来解决这个问题?

0 投票
2 回答
2395 浏览

c# - 如何在没有 Visual Studio 的情况下在 .net 脚本中引用 DLL

如何在 C# 脚本中引用 DLL?我没有使用 Visual Studio,我只是使用带有 C# 插件的 NPP 来编写一个快速的文件脚本。该脚本需要引用第三方 DLL。是否有我可以包含的代码片段来完成此操作?

我要引用的 DLL 是用于 iTextSharp

0 投票
2 回答
4898 浏览

c# - 如何从 C# 程序执行 ghostscript

我正在尝试从我的 C# 程序中调用 ghost 脚本,传递一些参数来裁剪 PDF 文件的页脚,然后用新的修改版本覆盖临时文件。

我想我错误地调用了 gs.exe。有没有人看到我传递给 start(gs) 的字符串不起作用的原因?

跟踪脚本时,它会在到达时触发捕获System.Diagnostics.Process.Start(gs);

这是在 process.start(gs) 函数中调用的字符串

这是我在控制台中收到的消息。

然后这是我的方法的代码。

0 投票
2 回答
1575 浏览

python - Python PyPDF2 加入页面

我有一个 PDF,其中有一个大表拆分为页面,所以我需要将每页表连接到一个大页面中的一个大表中。

PyPDF2 或其他库可以做到这一点吗?

干杯

0 投票
0 回答
156 浏览

linux - 如何在每第 n 页之后以有效的方式将 PDF 合并到另一个 PDF

我想找到最好的(最有效和最可靠的)解决方案来执行以下操作:

  • 我有一个大的 PDF 页面 A(假设有 1000 页)
  • 我有另一个 PDF 页 B(更小,比如说 2 页)
  • 我想在 A 的每 n 个(比如说每秒)页面之后将 PDF B 合并到 PDF A

是否有一个 Linux 工具以易于使用的参数语法支持这一点(比如给出一个参数'-merge-after-every 2')?
也许其他替代解决方案/方法?

我尝试了 pdfsam,但似乎您需要传入一个非常长的参数列表,其中包含显式的页面序列。此外,当您想在 1000 页 PDF 的每一页之后合并一个 PDF 页面时,pdfsam 在我的机器上死于 stackoverflow 异常(它适用于文件 A 的较小页面大小)。

0 投票
1 回答
381 浏览

python - 如何在 python 中使用 pdfMiner 来预测读取值

我一直在使用 pdfMiner 从图表中读取值,到目前为止它运行良好!

然而,有一个区域可以正确读取正确的数据,但以不可预测的方式,这意味着它将正确读取所有图形值,其顺序与它们出现的顺序完全不同。

这并不完全是一个问题,因为只要我知道,说最后一张图总是首先被读取,我可以围绕它构建我的程序。除了似乎 pdfMiner 在读取这些数据的方式上几乎完全不可预测之外,我找不到可辨别的模式。

这很可能是因为我对 pdfMiner 很不熟悉,所以我不完全确定它是如何工作的。所以是的,如果有人能指出我正确的方向,那将非常有帮助。

是我的数据

这是我正在使用的转换代码:

0 投票
1 回答
1205 浏览

java - iText:无法从页面检索 /Resources

我正在使用 iText 5.0.1 来操作现有的 PDF。使用RUPS分析现有 PDF 时,我可以看到第一页包含 /Resources :

在此处输入图像描述

但是,当使用以下示例操作 PDF 时,我得到一个 NPE,因为pageDictionary.get(PdfName.RESOURCES)返回 null。

这是调试时我的pageDictionnary对象包含的内容:

在此处输入图像描述

不幸的是,由于机密性,我现在无法发布 PDF,但是有人知道我为什么会收到此 NPE 吗?或者有谁知道如何进一步调查?(我远不是 iText 和 PDF 结构方面的专家......并且慢慢地失去了想法)

非常感谢 !

0 投票
1 回答
1031 浏览

java - 检索 pdf-IText 中图像的页码

我正在使用以下链接中的代码来渲染图像

MyImageRenderListener - IText

下面是我的代码尝试 块。我实际上在做的是查找图像的DPI,如果图像的 dpi 低于 300,则将其写入文本文件。

现在,我还想在 PDF 中写下这些图像所在的页码。如何获得该图像的页码?

0 投票
0 回答
71 浏览

batch-processing - 在 Sejda 中更改页眉的垂直位置

我正在使用 sejda-console-1.0.0.RELEASE 将标题应用于 PDF 文件。现在我想改变页眉的垂直位置,即将它向下移动 2 厘米。我尝试通过添加空格来强制换行,但这不起作用。

我怎样才能做到这一点 ?