手动创建PDF无法在CorelDRAW打开,经Acrobat修复后可用,求原因及合规方案
更新及问题解决
原本以为这是通用问题,但经@KJ检查我的PDF文件后发现是我自身文件存在错误,评论中的解决方案仅适用于我的个人情况。
给我及未来遇到类似情况用户的建议:仔细检查PDF结构,指针值必须100%正确,部分错误可能导致部分PDF阅读器出现问题。
原问题
我正在为项目开发手动创建PDF的导出功能,该功能近乎实现——生成的PDF可在Adobe Acrobat和Illustrator中打开并完全编辑,但无法在CorelDRAW中打开。
我的猜想:用Adobe Acrobat打开时,即使未做任何修改也总会提示保存,保存后的文件可成功在CorelDRAW中打开,因此我认为Acrobat对文件进行了修复。我想了解Acrobat做了哪些修复操作,以及是否可以直接创建完全符合Acrobat标准、可直接在CorelDRAW中打开的PDF。
我缺乏相关背景知识,提前感谢任何帮助、评论和建议。
相关文件
(我已将字体嵌入PDF,代码过长不粘贴):
- 手动创建的PDF
- 经Acrobat保存后的PDF
类似案例
无法被CorelDRAW读取的手动创建原始PDF代码:
%PDF-1.4 <hex chars removed> 1 0 obj << /Pages 2 0 R /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /Contents 4 0 R /MediaBox [ 0 0 500 800 ] /Parent 2 0 R /Resources 5 0 R /Type /Page >> endobj 4 0 obj << /Length 57 >> stream BT /F1 24 Tf 175 720 Td <FEFF004821260065006C006C006F> Tj ET endstream endobj 5 0 obj << /Font << /F1 6 0 R >> >> endobj 6 0 obj << /BaseFont /Courier /Subtype /Type1 /Type /Font >> endobj xref 0 7 0000000000 65535 f 0000000015 00000 n 0000000064 00000 n 0000000123 00000 n 0000000229 00000 n 0000000335 00000 n 0000000378 00000 n trailer << /Root 1 0 R /Size 7 /ID [<89311a609a751f1666063e6962e79bd5><89311a609a751f1666063e6962e79bd5>] >> startxref 448 %%EOF
经Acrobat保存后的PDF代码:
%PDF-1.6 %忏嫌 7 0 obj <<Linearized 1/L 4686/O 9/E 1039/N 1/T 4397/H [ 443 130]>> endobj 12 0 obj <<DecodeParms<<Columns 4/Predictor 12>>/Filter/FlateDecode/ID[<89311A609A751F1666063E6962E79BD5><1AF678699D64704CBB4D6708F363F3FE>]/Index[7 9]/Info 6 0 R/Length 47/Prev 4398/Root 8 0 R/Size 16/Type/XRef/W[1 2 1]>>stream h辀bd``b`?6 ?H0.?012L?02齡茗 ? \N? endstream endobj startxref 0 %%EOF 15 0 obj <<Filter/FlateDecode/I 66/Length 51/S 38>>stream h辀```f`` 層P#?p4 ?C1C泂LL` T?€ 狵? endstream endobj 8 0 obj <<Metadata 1 0 R/Pages 5 0 R/Type/Catalog>> endobj 9 0 obj <<Contents 11 0 R/CropBox[0 0 500 800]/MediaBox[0 0 500 800]/Parent 5 0 R/Resources 13 0 R/Rotate 0/Type/Page>> endobj 10 0 obj <<Filter/FlateDecode/First 11/Length 72/N 2/Type/ObjStm>>stream h?4V0P04Q02V氨褀讼+Q?!?; 驖婼ARE櫓E%?!@?L偟谫 :Uk endstream endobj 11 0 obj <<Length 62>>stream BT /F1 24 Tf 175 720 Td <FEFF004821260065006C006C006F> Tj ET endstream endobj 1 0 obj <<Length 2988/Subtype/XML/Type/Metadata>>stream <?xpacket begin="锘? id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c017 91.164464, 2020/06/15-10:20:05 "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"> <xmp:ModifyDate>2024-02-16T11:43:39+01:00</xmp:ModifyDate> <xmp:CreateDate>2024-02-16T11:43:39+01:00</xmp:CreateDate> <xmp:MetadataDate>2024-02-16T11:43:39+01:00</xmp:MetadataDate> <dc:format>application/pdf</dc:format> <xmpMM:DocumentID>uuid:51548485-b977-470f-8fa3-e46b5a112535</xmpMM:DocumentID> <xmpMM:InstanceID>uuid:8543361a-d2ca-46bb-8d6c-d303ebd0decf</xmpMM:InstanceID> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="w"?> endstream endobj 2 0 obj <<Filter/FlateDecode/First 4/Length 48/N 1/Type/ObjStm>>stream h?U0P氨褀??Q0憎蜭)幎?抨嘥り $Η圪 謜€ endstream endobj 3 0 obj <<Filter/FlateDecode/First 4/Length 62/N 1/Type/ObjStm>>stream h?S0P氨褀.JM,商蟬I,I誴?202102434416对60T70P自魍O莲牢 ? &@? endstream endobj 4 0 obj <<DecodeParms<<Columns 3/Predictor 12>>/Filter/FlateDecode/ID[<89311A609A751F1666063E6962E79BD5><1AF678699D64704CBB4D6708F363F3FE>]/Info 6 0 R/Length 37/Root 8 0 R/Size 7/Type/XRef/W[1 2 0]>>stream h辀b```bd醙b帙赡佬媚?媺颀 ? ? *] endstream endobj startxref 116 %%EOF
我认为关键在于找出Acrobat的哪些修改让CorelDRAW能够识别该文件。
内容的提问来源于stack exchange,提问作者Yang
相关产品推荐
相关产品推荐

