问题标签 [pypdf]
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.
python - PyPDF 合并和写入问题
使用它时出现意外错误。第一部分来自我在网上找到的脚本,我正在尝试使用它来提取 PDF 大纲中标识的特定部分。一切正常,除了output.write(outputfile1)
它说:
PdfReadError:字典中有多个定义。
还有其他人遇到这个吗?最后请原谅所有不必要print
的s。:)
c++ - 如何将 PDF 文档的所有页面向右移动一英寸?
我想将现有 pdf 文档的所有页面向右移动一英寸,这样它们就可以在不打到内容的情况下打三个孔。pdf 文档已经生成,因此无法更改它们的生成方式。
看来 iText 可以从上一个问题中做到这一点。
什么是 C++ 或 Python 的等效库(或这样做的方式)?
如果它依赖于平台,我需要一个可以在 Linux 上运行的。
更新:我想我会发布一个我写的小脚本,以防其他人找到这个页面并需要它。
感谢 Scott Anderson 的建议,工作代码:
右移.py
pdf - 如何删除书签目标文档属性
问题是关于 PDF 书签。
创建书签时,可以选择分配目标页面布局(除其他外),鼓励用户不要设置,除非确实有理由这样做。
我有时会跑到这类文件,并想永久删除此属性,同时保留书签。
我假设您理解我的要求,但如果不是这里,这个问题的说法会有所不同:
我的偏好是将我的 PDF 阅读器 (Evince) 设置为具有两页显示和最适合的页面布局,这对我来说是最舒服的。现在,一些 PDF 文档在书签目的地设置了自定义文档布局(例如页面宽度 75%),每次使用书签跳转到页面时,我都必须更正我的布局。
在 PDF 阅读器中忽略此属性的选项会很好,但没有,所以我想使用一些命令行工具处理此 PDF 文件并从 PDF 书签中删除所有这些自定义属性
更新:
这是我现在在哪里 - 无处 :)
我不仅需要工具来“纠正”这个问题,而且还需要知道哪些 PDF 文件受到了影响。
我使用 pyPdf 来完成这项工作:
行如:
$ for f in *.pdf ; do python chk-out.py "$f" ; done
输出如下内容:
在方括号中,它是目标布局的类型。
脚本速度快(每秒几个文档)易于掌握,但 pyPdf 不支持编写 PDF 书签
我想用pdftk
这个任务:
1:在单独的文件中转储元数据和书签:
pdftk doc.pdf dump_data | grep ^Info > doc.nfo
pdftk doc.pdf dump_data | grep ^Book > doc.toc
2:尝试删除书签,然后从“doc.toc”更新
2a. 只需尝试编写“doc.toc”
pdftk doc.pdf update_info doc.toc output new.pdf
- 没有改变
2b。写信息元数据,希望书签轮廓将被删除:
pdftk doc.pdf update_info doc.nfo output new.pdf
- 它没有发生
2c。在“doc.nfo”中追加BookmarkTitle: Temp title
一行,希望现在书签将被覆盖:
echo "BookmarkTitle: Temp title" >> book.nfo
pdftk doc.pdf update_info doc.nfo output new.pdf
- 它没有发生
这是我停下来的地方
我不知道任何其他 CLI 工具可以让我从 PDF 文件中删除书签,除了带有空pdfmarks
文件的 GhostScript,但是 GS 处理 PDF 文件需要太多时间,我想避免这种情况。
同样在这个过程中,我开始怀疑这是 Evince 错误。仅当目标书签类型设置为/FitH
“适合水平”时才会触发上述问题,我将假设改为“适合高度”,因为这就是 Evince 的行为方式。使用 Wine或在 Wine 下
打开相同文件时的行为与 Evince 不同。也许这就是这个 PDF 查看器的设计方式,但我记得在某些 Windows PDF 阅读器上看到过同样的问题(不记得是哪个) ePDFViewer
SumatraPDF
顺便说一句,我在 Ubuntu 11.04 上使用 Evince 2.32.0
python - 如何获取书签的页码
pyPdf.pdf.Destination
有很多属性,但我找不到该书签的任何引用页码。如何获取书签的页码?
例如outlines[1].page.idnum
,返回的数字大约是 PDF 文档中引用的页码的 3 倍,我假设它引用了一些小于页面的对象,因为.page.idnum
在整个 PDF 文档大纲上运行返回的数字数组甚至与“真实”没有线性相关PDF 文档中的页码目标,大约是 3 倍
更新:这个问题与此相同:尽管我不明白作者在那里的自我回答中做了什么,但根据大纲拆分了一个 pdf 。对我来说似乎太复杂而无法使用
python - Python中Pypdf包中的断言错误
我在 Windows 平台上使用 Python 2.4 和 PyPdf 1.13。我正在尝试使用以下代码将列表中的 PDF 文件合并为一个:
运行此代码时出现以下错误。
任何帮助是极大的赞赏。
python - 在 Python 中从现有 PDF 创建新 PDF
我正在努力如何在 Python 中使用另一个 PDF 作为模板来创建 PDF 报告。我有一个 PDF 文件(Template.pdf),可以用作每天创建报告的模板。Template.pdf 如下所示:
销售名称 订单数量 已确认数量 已发货数量
我需要以编程方式填写 ReportDate 和销售数据,并准备 PDF 格式的报告,如下所示:ABC Corp
销售名称 订单数量 已确认数量 已发货数量
杰森 1000 900 50
彼得 500 50 450
穆拉利 2000 1000 900
可以假设没有。销售人员的数量是固定的(即报告中的行数是固定的)。
python - 无论页数如何,pyPdf 输出文件的大小都相同
我正在尝试使用 pyPdf 将大 pdf 中的几页提取到单独的文件中。每当我这样做时,生成的文件大小几乎与源文件相同。我认为这与文件中的书签有关,因为如果页面不包含任何链接,则输出文件的大小非常小。我不知道如何从输出文件中排除书签。
python - 使用 pyPdf 打开 pdf url
我如何从 url 而不是从磁盘打开 pdf
就像是
我想从网上打开几个文件并下载所有文件的合并。
pdf - PDF - 删除白边
我想知道一种从 PDF 文件中删除白边距的方法。就像 Adobe Acrobat X Pro 一样。我知道它不适用于每个 PDF 文件。
我猜想这样做的方法是获取文本边距,然后从该边距中裁剪出来。
PyPdf 是首选。
iText 根据以下代码查找文本边距:
python - pyPdf错误无效参数
我实际上是在使用 pyPdf 来打开、读取和写入 PDF 文件的内容。
为此,我使用这些代码行:
但它返回给我这个错误,我不明白为什么
任何人都可以帮助我吗?