我可以告诉哪个软件生成了PDF文件吗?

时间:2013-06-16 22:37:03

标签: pdf pdf-generation

给出一个PDF文件。我可以找出用于创建/编辑它的软件/库(例如PDFBox,Adobe Acrobat,iText ...)吗?

4 个答案:

答案 0 :(得分:3)

Adob​​e规范定义了Producer字段(请参阅屏幕截图nimeshjm的答案中的'Mac OS X 10.5.6 Quartz PDFContext')作为“从其他格式转换为PDF”的应用程序的名称。如果以编程方式生成PDF,则不会真正转换PDF,因此您通常会在此处找到生成SDK的名称。

创建者字段是相关的,并且被定义为创建从中转换PDF的文档的应用程序的名称。这通常是MS Word左右。

请注意,这完全符合惯例。在实践中,你不能真正依赖于此,你可能会遇到例如空的生产者字段。

答案 1 :(得分:2)

您可以尝试在Adobe Read中打开文件并查看属性。

您可以在以下位置找到:文件 - >打开pdf文件后,Adobe Reader中的属性。

enter image description here

答案 2 :(得分:2)

对于此类操作,您可能无法使用任何PDF库。它不是100%可靠,但我认为你可以假设99%的可靠性。

所以...编写一些代码来打开PDF作为文本流和打印/生产者。你会发现这样的东西:

69 0 obj
<< 
/Creator (PDF+Forms 2.0)
/CreationDate (D:20010627111809)
/Title (Demo)
/Producer (Cardiff Software - TELEform 7.0)
/ModDate (D:20010627111810-05'00')
>> 

抓住括号和Bob的叔叔之间的位。从技术上讲,文本可以以其他格式存储,但我认为这些特定类型的条目非常罕见。

如果您在此处找不到任何内容,请查找始终保证为明文的XMP数据。它看起来像这样,

39 0 obj
<</Subtype/XML/Length 15172/Type/Metadata>>stream
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.0-c320 44.293068, Sun Jul 08 2007 18:10:11">
 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about=""
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:xap="http://ns.adobe.com/xap/1.0/"
    xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/"
    xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/"
    xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
   dc:format="application/pdf"
   xap:CreatorTool="Adobe Illustrator CS2"
   xap:CreateDate="2006-05-04T15:53:27-07:00"
   xap:ModifyDate="2006-05-04T15:53:27-07:00"
   xap:MetadataDate="2006-05-04T15:53:27-07:00"
   xapMM:DocumentID="uuid:61AC83CBC0DBDA11A32BC847EF128E34"
   xapMM:InstanceID="uuid:cba15bf3-d7da-4a4e-a563-fc20d13e258a"
   pdf:Producer="Adobe PDF library 7.77">
   <dc:title>
    <rdf:Alt>
     <rdf:li xml:lang="x-default">3.01 PDF components</rdf:li>
    </rdf:Alt>
   </dc:title>
...

这两者的结合实际上总是正确的。如果您想要100%可靠性,那么一定要使用PDF库,但出于多种目的,这应该足够了。

我的回复可能包含基于ABCpdf的概念。这就是我的工作。这就是我所知道的。 : - )

答案 3 :(得分:0)

通常很难确定哪些软件实际设计了PDF,因为大多数Microsoft Office产品都可以将编辑后的文件转换为PDF。我的意思是,打开常规类型文档,您可以选择将其另存为PDF。如果您熟悉Powerpoint幻灯片,则一旦文件为PDF格式,就可以很容易地根据设计进行分析。

另一方面,Adobe Acrobat能够像我们经常下载的申请表一样(从大使馆网站,移民网站等)创建文件。

Adob​​e Photoshop,Illustrator等其他软件可以将文件保存为PDF格式。希望这有帮助。