如何打开PDF原始文件?

如何打开PDF原始文件?,pdf,adobe,Pdf,Adobe,一段时间以来,我一直希望看到PDF的内部信息,比如它的原始源代码,这样我就可以查看它了。有什么办法吗?使用。当然,除非你知道PDF(8.6MB),否则你不会认识太多。如果你不了解PDF的内部结构,查看PDF的原始代码对你没有多大帮助。你们应该给自己弄一份,并且你们应该读过一些介绍性的文章,比如[gone],或者作为开始 即使在做了这样的准备之后,当您盯着原始代码看时,也不会发现有什么有用的东西。因为PDF通常包含“过滤”的部分(即:压缩) 如何查看“原始”二进制部分背后的真实PDF源代码 Jay

一段时间以来,我一直希望看到PDF的内部信息,比如它的原始源代码,这样我就可以查看它了。有什么办法吗?

使用。当然,除非你知道PDF(8.6MB),否则你不会认识太多。

如果你不了解PDF的内部结构,查看PDF的原始代码对你没有多大帮助。你们应该给自己弄一份,并且你们应该读过一些介绍性的文章,比如[gone],或者作为开始

即使在做了这样的准备之后,当您盯着原始代码看时,也不会发现有什么有用的东西。因为PDF通常包含“过滤”的部分(即:压缩)

如何查看“原始”二进制部分背后的真实PDF源代码 Jay Birkenbilt是一个非常有用的命令行工具(适用于Linux、Mac OSX和as源代码,在开源艺术许可证下),它可以解压大多数过滤内容,并以一种让您更深入了解其内部结构的方式重新组织内部结构(所有对象都按数字顺序排列,等等)。实现这一点的命令行是:

 qpdf  --qdf  original.pdf  unpacked.pdf

另一个有用的免费工具(GPL许可,但仅限Linux AFAIK)当然是。这一个甚至出现了(如果您愿意的话),同时仍然允许您访问内部结构和“原始”PDF代码。

除了qpdf工具之外,将其转换为postscript可能会有所帮助。 PDF是PS的一个子集。通常很容易计算,例如,图的标签在哪里。您可以使用pdf2ps或调用ghostscript

gs -sDEVICE=pswrite some.pdf -sOutputFile=some.ps -dNOPAUSE -c quit

当您使用pdflatex生成PDF时,您可以使用一个选项禁用压缩。这使PDF更具可读性。

如果目的只是查看文件,那么任何简单的文本编辑器都可以,例如记事本。PDF只是一种基于文本的格式,包括嵌入式内容字节流。原始PDF格式如下所示:

>>
/Border [0 0 0]
/Rect [121.02 332.48 363.24 343.64]
/StructParent 1321
/Subtype /Link
/Type /Annot
>>
endobj
64579 0 obj
<<
/Filter /FlateDecode
/Length 5771
>>
stream
Ũn0x/�+�}�ǹ����\֛ bYO�5[��X��W��L��(�������V�A3�C���������u큋_�a��ךm2N�6�    ��A��8
�d���NQ⺢GI��G�[��)�̉Y��R�y{R����&�&�;��g�k1���ҋeTC�(W��`���*��(;�AEc<=  mnZ+��|T��v
�.��зe�aޞ��V4�b���L����k�Oj.ֿ�y�����kc|I��  ��C�0��Hf�7d�/�z���m��o��A��B��IJ�%�. 
!�%f�б���&�ޒ�4Ύ7�l�3���3`�
endstream
endobj
64580 0 obj
<<
/Border [0 0 0]
/Dest <E4AE7DD2769553EF1668>
/Rect [219 648.5 256.8 659.66]
/StructParent 1323
/Subtype /Link
/Type /Annot
>>
>
/边界[0]
/Rect[121.02332.48363.24343.64]
/结构父级1321
/子类型/链接
/类型/注释
>>
endobj
64579 0 obj
>
流动
Ũn0x/�+�}�ǹ����\拜�5[��X��W��L��(�������v�A3�C���������U큋_�A.��ךm2N�6.�    ��A.��8.
�D���NQ⺢胃肠道��G�[��)�̉Y��R�y{R����&�&�;��G�k1���ҋ等�(W)��`���*��(;�AEc

您看到的是基本的COS对象,如名称、字典、流等。所有对象都在标准中描述,请参阅章节7.3对象

hexeditor…?基本pdf可以使用文本编辑器编写,或多或少…pdf规范可用(可能不是免费的,尽管我记得几年前我从Adobe获得了一份免费的合法副本,可能是较旧的PDF版本?)Adobe链接指向ISO 32000-1的补充,而不是实际的规范。不,PDF不能准确地描述为“PostScript的子集”。它源自PostScript是的:它的图形模型基本相同,它的语言语义是PostScript的子集,它使用的一些运算符在PostScript中具有相同的匹配(使用较短的名称)。但是,与PostScript相比,图形功能有了很大的改进和扩展(字体、颜色空间、透明度等)我在使用该命令时出错:
Unknown device:pswrite
并发现它现在应该读
ps2write
。我的整个命令是
gs-sDEVICE=ps2write-sOutputFile=some.ps-dNOPAUSE-dBATCH example.pdf
有什么方法可以将此文本数据转换为Javascript格式的pdf文件吗?据我所知,没有F数据是二进制格式,而不是文本格式。您可以将其打开并作为文本进行分析,但不能仅使用任何内容对其进行更新。要更新PDF,您需要使用二进制数据进行操作。要将某些内容转换为PDF,您需要使用环境中可用的API。