从头开始编写PDF文件

时间:2014-05-30 11:20:03

标签: pdf pdf-generation

我试图以编程方式生成一个简单的PDF文件(仅限文本)。 对于大多数PDF阅读器,文件看起来与我想要的完全一样,但有些PDF阅读器无法打开文件并将其报告为已损坏。 我已从文件中删除了每个元素,只留下第一个无效页面来调试代码并发现问题但没有任何结果,它仍然被识别为已损坏。

这是原始PDF数据:

%PDF-1.4
1 0 obj
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj
2 0 obj
<< /Type /Pages
   /Count 1
   /Kids [ 3 0 R ]
>>
endobj
3 0 obj
<< /Type /Page
   /Parent 2 0 R
   /Resources <<
   >>
   /MediaBox [ 0 0 595 842 ]
>>
endobj
xref
0 4
0000000000 65536 f 
0000000010 00000 n 
0000000067 00000 n 
0000000138 00000 n 
trailer
<< /Size 4
   /Root 1 0 R
>>
startxref
248
%%EOF

有谁能告诉我这个PDF有什么问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

每个规范/Resources是必需的,尽管它可以为空。将/Resources <<>>添加到对象2或3就足够了。

修改

下面的PDF和更新的/Resources条目在我运行时通过了Acrobat的预检。你收到预检错误信息吗?

%PDF-1.4
1 0 obj
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj
2 0 obj
<< /Type /Pages
   /Count 1
   /Kids [ 3 0 R ]
>>
endobj
3 0 obj
<< /Type /Page
   /Parent 2 0 R
   /MediaBox [ 0 0 595 842 ]
   /Resources <<>>
>>
endobj
xref
0 4
0000000000 65536 f 
0000000010 00000 n 
0000000067 00000 n 
0000000138 00000 n 
trailer
<< /Size 4
   /Root 1 0 R
>>
startxref
243
%%EOF