操纵PDF文件

问题描述 投票:0回答:2

我想将PDF文件作为文本(postscript)阅读,在文件结构中添加新对象并将最终输出保存为新PDF但是如果我只是复制了PDF PostScript内容并将其粘贴到新创建的PDF文件中(其中encoding='ansi'),该文件不起作用。

我确信这可能是编码问题,但我不确定在操作原始PostScript内容后我应该怎样做才能拥有有效的PDF文件格式。

这是一段不适用于我的代码:

pdf_file = open('Input.pdf', 'r', encoding='ansi').read()
pdf_file_bytes = bytearray(pdf_file, 'ansi')
pdf_file = open('Output_bytes.pdf', 'wb').write(pdf_file_bytes)

正如我所说,输出PDF无效!

pdf ansi pdf-manipulation
2个回答
0
投票

第一个问题; PDF文件的内容是PDF,而不是PostScript。

其次,PDF是一种二进制文件格式,如果你复制并粘贴它,任何一种翻译(如CR / LF)都会破坏它。

您还没有说过您的代码使用的编程语言,尽管它看起来像Python。如果它是Python,那么将文件作为二进制而不是文本读取可能会有所帮助。


0
投票

PDF文件是由各种对象组成的复杂文件格式,除非您仔细考虑PDF规范的低级语法,否则很难不能用一些其他字节任意替换某些字节并使其产生仍然有效的PDF文件。

更重要的是你想要完成什么。例如。可能有一种高级的方式来做任何你想要做的事情,而不涉及直接操纵PDF语法。例如。如果您需要修改字体,添加注释,设置PDF版本等。否则,如果您确实需要修改PDF语法,则需要使用能够处理低级对象的库。

© www.soinside.com 2019 - 2024. All rights reserved.