制作我的第一个PDF有困难
在过去的几个小时里,我一直在阅读PDF规范,这就是我想到的。但它不会在OSX预览中渲染:制作我的第一个PDF有困难,pdf,Pdf,在过去的几个小时里,我一直在阅读PDF规范,这就是我想到的。但它不会在OSX预览中渲染: %PDF-1.3 1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj 2 0 obj << /Type /Pages /Kids [ 3 0 R ] /Count 1>> endobj 3 0 obj << /Type /Page /Parent 2 0 R /Resources <<
%PDF-1.3
1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages /Kids [ 3 0 R ] /Count 1>>
endobj
3 0 obj
<< /Type /Page /Parent 2 0 R /Resources <<>> /MediaBox [0 0 500 500] /Contents 4 0 R >>
endobj
4 0 obj
BT
/F13 12 Tf (Hello World!) Tj
ET
endobj
xref
0 5
0000000000 65535 f
0000000010 00000 n
0000000059 00000 n
0000000119 00000 n
0000000221 00000 n
trailer
<< /Size 5 /Root 1 0 R >>
startxref
267
%%EOF
%PDF-1.3
10 obj
>
endobj
20 obj
>
endobj
30 obj
>
endobj
40 obj
英国电信
/F13 12 Tf(你好,世界!)Tj
ET
endobj
外部参照
0 5
0000000000 65535 f
00000000 100万n
000000005900000N
0000000 11900000n
0000000 221 00000n
拖车
>
起始外部参照
267
%%EOF
我确信这与我的文本对象有关,但我很难理解它。经过几次更正后,以下内容将在xpdf 3.0上为我呈现
%PDF-1.3
1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages /Kids [ 3 0 R ] /Count 1>>
endobj
3 0 obj
<< /Type /Page /Parent 2 0 R /Resources << /Font << /F13 5 0 R >> /MediaBox [0 0 500 500] >> /Contents 4 0 R >>
endobj
4 0 obj
<< /Length 46 >>
stream
BT
/F13 12 Tf 100 250 Td (Hello World!) Tj
ET
endstream
endobj
5 0 obj
<< /BaseFont /Helvetica /Encoding /MacRomanEncoding /Name /F13 /Subtype /Type1 /Type /Font >>
endobj
xref
0 6
0000000000 65535 f
0000000010 00000 n
0000000060 00000 n
0000000119 00000 n
0000000247 00000 n
0000000343 00000 n
trailer
<< /Size 6 /Root 1 0 R >>
startxref
453
%%EOF
%PDF-1.3
10 obj
>
endobj
20 obj
>
endobj
30 obj
>/Contents 4 0 R>>
endobj
40 obj
>
流动
英国电信
/F13 12 Tf 100 250 Td(你好,世界!)Tj
ET
尾流
endobj
50 obj
>
endobj
外部参照
0 6
0000000000 65535 f
00000000 100万n
00000000 600万n
0000000 11900000n
0000000 247 00000n
0000000343000000N
拖车
>
起始外部参照
453
%%EOF
事情,我需要改变:
- 为
/F13
- 在内容流中添加了
。需要设置当前位置100 250 Td
- 已更正
。注意4 0 R的格式
和
,流
标记结束流
- 对外部参照的更正。尤其是第一行
是一个虚拟自由对象。第一个真实对象显示为第二个条目0000000000 65535 f
startxref
值不正确<代码>/Size应为4
<代码>/Length应为46
;也许是一些物品。但是是的,它在XPDF和Preview.app:-)中呈现,哦,xref
条目本身:它们需要正好20字节长,包括EOL字符。如果它是一个2字节的EOL,则需要在末尾(在f
和n
之后)有一个填充空间。您可以使用它对PDF语法、流长度和外部参照条目进行基本检查,如下所示:qpdf--check input.PDF
。谢谢!我想我很接近。我假设有一种默认字体可以使用,并且当前位置默认为0。规范中不清楚文本对象是否需要在流中,但也许我需要更仔细地阅读它。但是从“BT”的开头到“ET”的结尾是45字节。。。为什么应该是46?另外,根据规范,大小不应该是6(外部参照中的条目数)吗?@Kurt,谢谢。剪切并粘贴到SO期间丢失外部参照填充。希望现在更好。也调整了拖车的尺寸。