Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PDF根对象出错大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

此PDF根对象将使Adobe Reader失败. Foxit,Nuance,Evince,SumatraPDF等其他PDF阅读器将毫无问题地打开pDF文件.问题是/ Dests要求间接对象(PDF参).删除/ Dests<< >>将获得Adobe Reader打开文件,但打印失败.所有其他读者在没有/ Dests的情况下工作正常.有关如何更正以下根对象示例中的语法的任何想法? 17 0 obj
此PDF根对象将使Adobe Reader失败. Foxit,Nuance,Evince,SumatraPDF等其他PDF阅读器将毫无问题地打开pDF文件.问题是/ Dests要求间接对象(PDF参).删除/ Dests<< >>将获得Adobe Reader打开文件,但打印失败.所有其他读者在没有/ Dests的情况下工作正常.有关如何更正以下根对象示例中的语法的任何想法?

17 0 obj
  <<
    /Type /Catalog
    /Pages 2 0 R
    /Outlines 15 0 R
    /PageMode /USEOutlines
    /Dests <<
             /__WKANCHOR_2 8 0 R
             /#8d#c2#ca#ebs#e4#60#00#9e#97l#b9#80#1b#cb#86sQR#83 9 0 R
           >>
  >>
  endobj

解决方法

好的,找了几分钟……

所以我注意到的第一件事是*所有其他读者确实可以打开文件(我只测试了一些).但是这些确实吐了很多很多警告和错误消息……(试试Ghostscript:gs virkerikke.pdf,或者试试evince …)PDF中至少有一个损坏的外部参照表(或者至少这个)是投诉之一).

xpdf抱怨:

[....]
Error: Invalid XRef entry
Error: Invalid XRef entry
Error: Invalid XRef entry
Error (157): Unterminated String
Error (159): End of file inside Dictionary

gv抱怨:

Warning: translation table Syntax error: UnkNown keysym name:  apLineDel
Warning: ... found while parsing '<Key>apLineDel:   GV_Page(page+5)     '
Warning: String to TranslationTable conversion encountered errors

evince抱怨:

[....]
Error: Invalid XRef entry
Error: Invalid XRef entry
Error: Invalid XRef entry
Error (157): Unterminated String
Error (159): End of file inside Dictionary
Error (157): Unterminated String
Error (159): End of file inside Dictionary
Error (157): Unterminated String
Error (159): End of file inside Dictionary
[....]
Error (1918): Unterminated String
Error (1920): End of file inside Dictionary

gs抱怨:

**** Warning: File has a corrupted %%EOF marker,or garbage after %%EOF.
@H_657_19@mupdf抱怨:

+ pdf/pdf_xref.c:60: pdf_read_start_xref(): cAnnot find startxref
| pdf/pdf_xref.c:477: pdf_load_xref(): cAnnot read startxref
\ pdf/pdf_xref.c:532: pdf_open_xref_with_stream(): trying to repair
warning: ignoring invalid character in hex String: '!'
warning: ignoring invalid character in hex String: 'O'
warning: ignoring invalid character in hex String: 'T'
warning: ignoring invalid character in hex String: 'Y'
[....]

qpdf –qdf抱怨:

virkerikke.pdf (object 17 0,file position 2234): null character not allowed in name token

好的,现在在文本编辑器中打开这个糟糕的文件,尝试修复它.我发现这个文件(大小为32746字节)有一些严重的语法问题:

> %% EOF之后的垃圾:在%% EOF标记之后,有一个完整且语法正确的HTML文件粘贴到PDF,标题为“Wkhtmltopdf – Teknisk regelverk”.它的大小是11878字节.删除此部分,您将获得一个“更好”的PDF,其大小仅为20868字节…然Acrobat / Adob​​e Reader在保存编辑后的文件后仍然无法打开它.
>名称标记中的字符无效:这位于名称标记内/#8d#c2 #ca#ebs#e4#60#00#9e#97l#b9#80#1b#cb#86sQR#83.它在文件显示为2x.在我的第一个评论中,我告诉过你这个密钥对我来说看起来不值得信赖,因为它只包含很少的ASCII字符,但是包含很多二进制字节(使用它们的十六进制表示.)(我忽略的是它甚至包含一个#00是一个零字符的PDF表示…在PDF中使用其名称标记是非法的.)将该名称标记替换为完全相同长度的另一个(幻想)(在两次出现时).我做了选择/ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.保存编辑过的文件.

现在,即使是Acrobat / Adob​​e Readers也会毫不犹豫地打开这个修复过的文件.此外,“其他读者”现在可以更好地使用此文件,吐出更少的警告,现在能够识别他们无法获取原始文件的一些元数据(例如创建日期和生产者== wkhtmltopdf).

大佬总结

以上是大佬教程为你收集整理的PDF根对象出错全部内容,希望文章能够帮你解决PDF根对象出错所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。