(手动创建)PDF在Ubuntu上运行正常,但它不能在Windows中运行?

时间:2013-12-23 13:57:53

标签: pdf ubuntu pdf-generation pdf-conversion

我正在尝试使用PDF代码以pdf格式创建表格。我已经成功创建了一个表,并且它在LinuX(Ubuntu)中工作正常,但是当我试图在Windows中打开时,它向我显示“文件已被损坏”的错误消息。这是我编辑的代码,

    %PDF-1.5
%âãÏÓ
1 0 obj 
<<
/PageLayout /OneColumn
/MarkInfo 
<<
/Marked true
>>
/Outlines 2 0 R
/Lang <feff0045004e002d00550053>
/Pages 3 0 R
/StructTreeRoot 4 0 R
/Type /Catalog
>>
endobj 
2 0 obj 
<<
/First 5 0 R
/Type /Outlines
/Count 1
/Last 5 0 R
>>
endobj 
3 0 obj 
<<
/Kids [6 0 R]
/Type /Pages
/Count 1
>>
endobj 
4 0 obj 
<<
/ParentTree 7 0 R
/RoleMap 8 0 R
/ParentTreeNextKey 1
/K 9 0 R
/Type /StructTreeRoot
>>
endobj 
5 0 obj 
<<
/Title (Example table)
/Parent 2 0 R
/A 10 0 R
>>
endobj 
6 0 obj 
<<
/CropBox [0.0 0.0 612.0 792.0]
/Rotate 0
/StructParents 0
/Parent 3 0 R
/Resources 
<<
/ColorSpace 
<<
/CS1 11 0 R
/CS0 12 0 R
>>
/Font 
<<
/TT2 13 0 R
/TT1 14 0 R
/TT0 15 0 R
>>
>>
/MediaBox [0.0 0.0 612.0 792.0]
/Type /Page
/Contents [16 0 R 17 0 R]
>>
endobj 
9 0 obj 
<<
/P 4 0 R
/K [18 0 R 19 0 R 20 0 R 21 0 R]
/S /Sect
>>
endobj 
7 0 obj 
<<
/Nums [0 22 0 R]
>>
endobj 
8 0 obj 
<<
/Subscript /Span
/Diagram /Figure
/Strikeout /Span
/Outline /Span
/DropCap /Figure
/InlineShape /Figure
/Footnote /Note
/Annotation /Span
/Underline /Span
/Superscript /Span
/Chart /Figure
/Endnote /Note
/TextBox /Art
>>
endobj 
10 0 obj 
<<
/D [6 0 R /XYZ 72 720 0.0]
/S /GoTo
>>
endobj 
16 0 obj 
<<
/Length 1991
>>
stream
BT
/H1 <</MCID 0 >>BDC 
/CS0 cs 0.212 0.373 0.569  scn
/TT0 1 Tf
0.002 Tw 14.04 0 0 14.04 72 682.8 Tm
[(E)-3(x)4(a)-3(m)1(p)-1(le)10( t)6(a)-3(b)1(le)]TJ
0 Tw 6.496 0 Td
( )Tj
EMC 
/P <</MCID 1 >>BDC 
/CS1 cs 0  scn
/TT1 1 Tf
0.001 Tc -0.001 Tw 15.96 0 0 15.96 72 664.44 Tm
[(T)-1(hi)-3(s)1( )1(i)-3(s)1( )1(a)-1(n e)3(x)-2(a)-1(m)3(pl)-3(e)3( )-7(o)2(f)-2( )1(a)-1( da)-1(t)-2(a)-1( t)-2(a)-1(bl)-3(e)3(.)]TJ
0 Tc 0 Tw 13.789 0 Td
( )Tj
EMC 
ET
/TH <</MCID 3 >>BDC 
/CS0 cs 0.553 0.702 0.886  scn
84.84 632.64 76.68 14.88 re
f*
84.84 591.36 5.16 41.28 re
f*
156.36 591.36 5.16 41.28 re
f*
84.84 576.48 76.68 14.88 re
f*
EMC 
/P <</MCID 4 >>BDC 
90 618 66.36 14.64 re
f*
BT
/CS1 cs 0  scn
/TT2 1 Tf
0.004 Tc -0.004 Tw 12 0 0 12 90 621.24 Tm
[(D)4(is)3(a)8(b)1(il)10(it)1(y)8( )]TJ
ET
/CS0 cs 0.553 0.702 0.886  scn
90 591.36 66.36 26.64 re
f*
BT
/CS1 cs 0  scn
/TT2 1 Tf
-0.004 Tc 0.004 Tw 12 0 0 12 90 606.6 Tm
[(C)-5(at)-7(e)-1(go)-6(r)-9(y)]TJ
0 Tc 0 Tw ( )Tj
ET
EMC 
/TH <</MCID 7 >>BDC 
/CS0 cs 0.553 0.702 0.886  scn
162 625.32 71.76 22.2 re
f*
162 598.68 5.16 26.64 re
f*
228.6 598.68 5.16 26.64 re
f*
162 576.48 71.76 22.2 re
f*
EMC 
/P <</MCID 8 >>BDC 
167.16 598.68 61.44 26.64 re
f*
BT
/CS1 cs 0  scn
/TT2 1 Tf
0.003 Tc -0.003 Tw 12 0 0 12 167.16 613.92 Tm
[(P)5(a)7(r)-2(ti)-1(c)1(i)9(pa)7(nts)]TJ
0 Tc 0 Tw 4.95 0 Td
( )Tj
ET
EMC 
/TH <</MCID 11 >>BDC 
/CS0 cs 0.553 0.702 0.886  scn
234.24 632.64 71.52 14.88 re

f*
234.24 591.36 5.16 41.28 re
f*
300.6 591.36 5.16 41.28 re
f*
234.24 576.48 71.52 14.88 re
f*
EMC 
/P <</MCID 12 >>BDC 
239.4 618 61.2 14.64 re
f*
BT
/CS1 cs 0  scn
/TT2 1 Tf
0.004 Tc -0.004 Tw 12 0 0 12 239.4 621.24 Tm
[(B)5(a)8(llo)2(t)1(s)13( )]TJ
ET
/CS0 cs 0.553 0.702 0.886  scn
239.4 591.36 61.2 26.64 re
f*
BT
/CS1 cs 0  scn
/TT2 1 Tf
-0.003 Tc 0.003 Tw 12 0 0 12 239.4 606.6 Tm
[(C)-4(o)-5(mp)-6(l)-7(et)-6(ed)]TJ
0 Tc 0 Tw 4.55 0 Td
( )Tj
ET
EMC 

endstream 
endobj 
17 0 obj 
<<
/Length 707
>>
stream

/P <</MCID 42 >>BDC 
q
84.84 550.56 76.68 25.44 re
W n
BT
/TT1 1 Tf
-0.001 Tc 0.001 Tw 11.04 0 0 11.04 90 565.56 Tm
[(Blin)2(d)]TJ
ET
Q
q
84.84 550.56 76.68 25.44 re
W n
BT
/TT1 1 Tf
11.04 0 0 11.04 112.56 565.56 Tm
( )Tj
ET
EMC 
/P <</MCID 46 >>BDC 
Q
q
162 550.56 71.76 25.44 re
W n
BT
/TT1 1 Tf
11.04 0 0 11.04 195.12 565.56 Tm
(5)Tj
ET
Q
q
162 550.56 71.76 25.44 re
W n
BT
/TT1 1 Tf
11.04 0 0 11.04 200.64 565.56 Tm
( )Tj
ET
EMC 
/P <</MCID 50 >>BDC 
Q
q
234.24 550.56 71.519 25.44 re
W n
BT
/TT1 1 Tf
11.04 0 0 11.04 267.24 565.56 Tm
(1)Tj
ET
Q
q
234.24 550.56 71.519 25.44 re
W n
BT
/TT1 1 Tf
11.04 0 0 11.04 272.76 565.56 Tm
( )Tj
ET
EMC 

endstream 
endobj 
12 0 obj /DeviceRGB
endobj 
11 0 obj /DeviceRGB
endobj 
15 0 obj 
<<
/BaseFont /Times-Roman
/Subtype /Type1
/Type /Font
/Encoding /WinAnsiEncoding
>>
endobj 
14 0 obj 
<<
/BaseFont /Helvetica
/Subtype /Type1
/Type /Font
/Encoding /WinAnsiEncoding
>>
endobj 
13 0 obj 
<<
/BaseFont /Courier
/Subtype /Type1
/Type /Font
/Encoding /WinAnsiEncoding
>>
endobj 
18 0 obj 
<<
/Pg 6 0 R
/P 9 0 R
/K 0
/S /H1
>>
endobj 
19 0 obj 
<<
/Pg 6 0 R
/P 9 0 R
/K 1
/S /P
>>
endobj 
20 0 obj 
<<
/P 9 0 R
/A 23 0 R
/K [24 0 R 25 0 R]
/S /Table
>>
endobj 
21 0 obj 
<<
/Pg 6 0 R
/P 9 0 R
/K 144
/S /P
>>
endobj 
22 0 obj [18 0 R 19 0 R null 26 0 R 27 0 R null null 28 0 R 29 0 R null null 30 0 R 31 0 R null null null null null null null null null 24 0 R null null null null null null null null null null null null null null null null null null null 32 0 R null null null 33 0 R null null null 34 0 R null null null null null null null null null null null null null 25 0 R null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null 35 0 R null null null 36 0 R null null null 37 0 R null null null null null null null null null null null null null 38 0 R null null null null null null null null null null null null null null null null null null null null null null null null null 21 0 R]
endobj 
23 0 obj 
<<
/O /Layout
/Placement /Block
/BBox [84.11 446.51 545.89 648.25]
>>
endobj 
24 0 obj 
<<
/Pg 6 0 R
/P 20 0 R
/K [26 0 R 28 0 R 30 0 R]
/S /TR
>>
endobj 
25 0 obj 
<<
/Pg 6 0 R
/P 20 0 R
/K [39 0 R 40 0 R 41 0 R]
/S /TR
>>
endobj 
38 0 obj 
<<
/Pg 6 0 R
/P 20 0 R
/K [42 0 R 43 0 R 44 0 R]
/S /TR
>>
endobj 
26 0 obj 
<<
/Pg 6 0 R
/P 24 0 R
/K [27 0 R]
/S /TH
>>
endobj 
27 0 obj 
<<
/Pg 6 0 R
/P 26 0 R
/K 4
/S /P
>>
endobj 
28 0 obj 
<<
/Pg 6 0 R
/P 24 0 R
/K [29 0 R]
/S /TH
>>
endobj 
29 0 obj 
<<
/Pg 6 0 R
/P 28 0 R
/K 8
/S /P
>>
endobj 
30 0 obj 
<<
/Pg 6 0 R
/P 24 0 R
/K [11 31 0 R]
/S /TH
>>
endobj 
31 0 obj 
<<
/Pg 6 0 R
/P 30 0 R
/K 12
/S /P
>>
endobj 
32 0 obj 
<<
/Pg 6 0 R
/P 39 0 R
/K 42
/S /P
>>
endobj 
33 0 obj 
<<
/Pg 6 0 R
/P 40 0 R
/K 46
/S /P
>>
endobj 
34 0 obj 
<<
/Pg 6 0 R
/P 41 0 R
/K 50
/S /P
>>
endobj 
35 0 obj 
<<
/Pg 6 0 R
/P 42 0 R
/K 96
/S /P
>>
endobj 
36 0 obj 
<<
/Pg 6 0 R
/P 43 0 R
/K 100
/S /P
>>
endobj 
37 0 obj 
<<
/Pg 6 0 R
/P 44 0 R
/K 104
/S /P
>>
endobj 
39 0 obj 
<<
/P 25 0 R
/K 32 0 R
/S /TD
>>
endobj 
40 0 obj 
<<
/P 25 0 R
/K 33 0 R
/S /TD
>>
endobj 
41 0 obj 
<<
/P 25 0 R
/K 34 0 R
/S /TD
>>
endobj 
42 0 obj 
<<
/P 38 0 R
/K 35 0 R
/S /TD
>>
endobj 
43 0 obj 
<<
/P 38 0 R
/K 36 0 R
/S /TD
>>
endobj 
44 0 obj 
<<
/P 38 0 R
/K 37 0 R
/S /TD
>>
endobj xref
0 45
0000000000 65535 f 
0000000015 00000 n 
0000000190 00000 n 
0000000263 00000 n 
0000000322 00000 n 
0000000430 00000 n 
0000000500 00000 n 
0000000849 00000 n 
0000000889 00000 n 
0000000775 00000 n 
0000001130 00000 n 
0000004027 00000 n 
0000003999 00000 n 
0000004203 00000 n 
0000004130 00000 n 
0000004055 00000 n 
0000001190 00000 n 
0000003237 00000 n 
0000004274 00000 n 
0000004329 00000 n 
0000004383 00000 n 
0000004460 00000 n 
0000004516 00000 n 
0000005296 00000 n 
0000005384 00000 n 
0000005461 00000 n 
0000005615 00000 n 
0000005678 00000 n 
0000005733 00000 n 
0000005796 00000 n 
0000005851 00000 n 
0000005917 00000 n 
0000005973 00000 n 
0000006029 00000 n 
0000006085 00000 n 
0000006141 00000 n 
0000006197 00000 n 
0000006254 00000 n 
0000005538 00000 n 
0000006311 00000 n 
0000006362 00000 n 
0000006413 00000 n 
0000006464 00000 n 
0000006515 00000 n 
0000006566 00000 n 
trailer

<<
/Root 1 0 R
/Size 45
>>
startxref
6616
%%EOF

1 个答案:

答案 0 :(得分:6)

注意:“在Windows中打开”是一个非声明。您不能在Windows中“打开”PDF,您需要某些软件才能这样做。据推测,您尝试使用Acrobat Reader或类似的东西(您引用的错误消息来自Acrobat Reader)。

它可以在Mac OS X预览版中运行,但是再次说明并没有真正告诉我们。预览版是由Apple编写的,它不是一个真正符合的PDF阅读器(对于任何使用透明度或色彩空间的人来说都是令人沮丧的)。您没有提供您的文档应该是什么样子的图像;是这样的吗?

sample pdf screen grab

但它在Acrobat X中打开。(a)检查PDF偏移 - 最有可能发生错误的地方 - 我发现xref偏移是错误的{ {1}}以后。这导致所有下一个对象的错误偏移量为+89字节,直至并包括结尾11 0 obj,IMO应为startxref 6616

我通过将每个6527的位置与十六进制编辑器进行比较来手动修复34个错误的偏移量,并使用X 0 obj行结尾保存。我的检查工具出错了:

  

流字典后面的关键字流后面应该是a   回车和换行或仅通过换行,而不是单独回车。   (PDF参考文献1.7,§3.2.7)

所以我用cr行结尾重新载入。没有错误,它在预览中正确显示,但在Acrobat X中仍然

我注意到对象16和17的lf键,页面内容对象也关闭了。将它们分别更正为/Length1887后,它仍会显示在预览中但仍未显示在Acrobat X中。

问题似乎在于这些内容。请求清单显示错误消息:“解析内容流时发生错误。无法分析PDF文件。”,并且浏览内部PDF结构我看到来自{{1}的第一批文本格式化命令但他们停在第15个命令:

648

,下一个命令16 0 obj永远不会被看到。

噢噢琦。检查/CS1 cs 0 scn 的参数,我看到它们的数量取决于使用/TT1 1 Tf设置的颜色空间;和那里是你的问题。

scncs都设置了颜色空间,并将它们都设置为11 0 obj。因此,12 0 obj(在/DeviceRGB中定义)的参数数量是错误的 - 您只提供一个。假设你认为这个是/CS1是安全的,并且看到最后的改变后我在Acrobat X中看到了这个:

corrected PDF

和适当的库存和完全可浏览的PDF结构。

此文件存在许多小问题,但PDF格式本身非常有弹性。可能已经默默地纠正了错误的偏移量,可能还有长度(PDF规范允许这样做),但颜色空间的错误参数正在扼杀它。

(a)重新阅读后的澄清:在Acrobat中打开,但只是默默地显示空白页面;没有任何错误信息。

加成

这让我觉得:它是11 0 obj 唯一因为它在Acrobat X中失败了吗?否:在重新加载原始PDF并仅更改该行后,Acrobat表示文件损坏无法修复。因此,幸运的是,我所做的额外检查并非一无所获。