加密后我的 PDF 文本字段在 Chrome 和 Adobe Reader 中不可见,但在 Mozilla 和 X-Change Editor 中可见

问题描述 投票:0回答:1

我创建了一个有效的 pdf,其中包含一个空白页和一个现有文本字段,一切都很好:

我可以编辑pdf并保存它,一切都很好。我用验证工具测试了pdf,pdf是有效的。 但是当我使用这些权限对其进行加密时:

const securityOptions = {
   ownerPassword: "azer",
   permissions: {
     printing: 'highResolution', //'lowResolution',
     modifying: true,
     copying: true,
     annotating: true,
     fillingForms: true,
     contentAccessibility: true,
     documentAssembly: true
   }
 };

并保存它,当我打开pdf时,文本字段出现问题: 文本字段在以下位置不可见:

  • Adobe Reader。
  • Chrome(以及所有 chromium 浏览器),当执行 ctrl+p 时,文本字段在打印查看器中可见。

文本字段可见,其值位于:

  • Mozilla
  • X-更改编辑器

我用验证工具测试了加密的pdf(https://www.pdf-online.com/osa/validate.aspx),pdf是有效的。

这是加密的PDF,可能是流或元数据加密有问题,我不确定:

作为base64

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IG9iago8PAovQVAgPDwKL04gMTEgMCBSCj4+Ci9EQSAoMCBnIC9IZWx2IDAgVGYpCi9EViAoSSBhbSBhIGRlZmF1bHQgdmFsdWUpCi9GIDQKL0ZUIC9UeAovTUsgPDwKL0JDIFsgMCAwIDAgXQo+PgovUCA5IDAgUgovUmVjdCBbIDMyLjA3NjUxMSA3MjUuNzc3MjIyIDE4Mi4wNzY1MDggNzQ3Ljc3NzIyMiBdCi9TdWJ0eXBlIC9XaWRnZXQKL1QgKFRleHQxKQovVHlwZSAvQW5ub3QKL1YgKEhlbGxvIFNFKQo+PgplbmRvYmoKCjkgMCBvYmoKPDwKL0Fubm90cyBbIDggMCBSIF0KL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQovUGFyZW50IDYgMCBSCi9SZXNvdXJjZXMgPDwKPj4KL1R5cGUgL1BhZ2UKPj4KZW5kb2JqCgoxMCAwIG9iago8PAovRGlmZmVyZW5jZXMgWyAyNCAvYnJldmUgL2Nhcm9uIC9jaXJjdW1mbGV4IC9kb3RhY2NlbnQgL2h1bmdhcnVtbGF1dCAvb2dvbmVrIC9yaW5nIC90aWxkZSAzOSAvcXVvdGVzaW5nbGUgOTYgL2dyYXZlIDEyOCAvYnVsbGV0IC9kYWdnZXIgL2RhZ2dlcmRibCAvZWxsaXBzaXMgL2VtZGFzaCAvZW5kYXNoIC9mbG9yaW4gL2ZyYWN0aW9uIC9ndWlsc2luZ2xsZWZ0IC9ndWlsc2luZ2xyaWdodCAvbWludXMgL3BlcnRob3VzYW5kIC9xdW90ZWRibGJhc2UgL3F1b3RlZGJsbGVmdCAvcXVvdGVkYmxyaWdodCAvcXVvdGVsZWZ0IC9xdW90ZXJpZ2h0IC9xdW90ZXNpbmdsYmFzZSAvdHJhZGVtYXJrIC9maSAvZmwgL0xzbGFzaCAvT0UgL1NjYXJvbiAvWWRpZXJlc2lzIC9aY2Fyb24gL2RvdGxlc3NpIC9sc2xhc2ggL29lIC9zY2Fyb24gL3pjYXJvbiAxNjAgL0V1cm8gMTY0IC9jdXJyZW5jeSAxNjYgL2Jyb2tlbmJhciAxNjggL2RpZXJlc2lzIC9jb3B5cmlnaHQgL29yZGZlbWluaW5lIDE3MiAvbG9naWNhbG5vdCAvLm5vdGRlZiAvcmVnaXN0ZXJlZCAvbWFjcm9uIC9kZWdyZWUgL3BsdXNtaW51cyAvdHdvc3VwZXJpb3IgL3RocmVlc3VwZXJpb3IgL2FjdXRlIC9tdSAxODMgL3BlcmlvZGNlbnRlcmVkIC9jZWRpbGxhIC9vbmVzdXBlcmlvciAvb3JkbWFzY3VsaW5lIDE4OCAvb25lcXVhcnRlciAvb25laGFsZiAvdGhyZWVxdWFydGVycyAxOTIgL0FncmF2ZSAvQWFjdXRlIC9BY2lyY3VtZmxleCAvQXRpbGRlIC9BZGllcmVzaXMgL0FyaW5nIC9BRSAvQ2NlZGlsbGEgL0VncmF2ZSAvRWFjdXRlIC9FY2lyY3VtZmxleCAvRWRpZXJlc2lzIC9JZ3JhdmUgL0lhY3V0ZSAvSWNpcmN1bWZsZXggL0lkaWVyZXNpcyAvRXRoIC9OdGlsZGUgL09ncmF2ZSAvT2FjdXRlIC9PY2lyY3VtZmxleCAvT3RpbGRlIC9PZGllcmVzaXMgL211bHRpcGx5IC9Pc2xhc2ggL1VncmF2ZSAvVWFjdXRlIC9VY2lyY3VtZmxleCAvVWRpZXJlc2lzIC9ZYWN1dGUgL1Rob3JuIC9nZXJtYW5kYmxzIC9hZ3JhdmUgL2FhY3V0ZSAvYWNpcmN1bWZsZXggL2F0aWxkZSAvYWRpZXJlc2lzIC9hcmluZyAvYWUgL2NjZWRpbGxhIC9lZ3JhdmUgL2VhY3V0ZSAvZWNpcmN1bWZsZXggL2VkaWVyZXNpcyAvaWdyYXZlIC9pYWN1dGUgL2ljaXJjdW1mbGV4IC9pZGllcmVzaXMgL2V0aCAvbnRpbGRlIC9vZ3JhdmUgL29hY3V0ZSAvb2NpcmN1bWZsZXggL290aWxkZSAvb2RpZXJlc2lzIC9kaXZpZGUgL29zbGFzaCAvdWdyYXZlIC91YWN1dGUgL3VjaXJjdW1mbGV4IC91ZGllcmVzaXMgL3lhY3V0ZSAvdGhvcm4gL3lkaWVyZXNpcyBdCi9UeXBlIC9FbmNvZGluZwo+PgplbmRvYmoKCjExIDAgb2JqCjw8Ci9CQm94IFsgMCAwIDE1MCAyMiBdCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggMTQ0Ci9SZXNvdXJjZXMgPDwKL0ZvbnQgPDwKL0hlbHYgNyAwIFIKPj4KPj4KL1N1YnR5cGUgL0Zvcm0KL1R5cGUgL1hPYmplY3QKPj4Kc3RyZWFtCnEnSSxdW4KMGszAdNm3chNSi8flB2JWHcCKCWIBXsRRV9bR3nb7U8w9ctWWBO/nXtDwc/lWhZ4CBLigIkUrl0Kq0SN0qQkUWxo0Y+QBoXD7FfBH1I6LqICjH2M1/9hFeIQYUkLvdxtVeKoa8ORGPgyUJw88pZwD8Wv+nlVVkx2KNCkNM9BKyX9PJU36/xuw3AplbmRzdHJlYW0KZW5kb2JqCgoxMiAwIG9iago8PAovTW9kRGF0ZSAoRDoyMDI0MDEwNTEwMDM0NVopCi9Qcm9kdWNlciAocGRmLWxpYiAoaHR0cHM6Ly9naXRodWIuY29tL0hvcGRpbmcvcGRmLWxpYikpCi9DcmVhdG9yIChwZGYtbGliIChodHRwczovL2dpdGh1Yi5jb20vSG9wZGluZy9wZGYtbGliKSkKL0NyZWF0aW9uRGF0ZSAoRDoyMDI0MDEwNTEwMDM0NVopCj4+CmVuZG9iagoKMTMgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iagoKMTQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhLUJvbGQKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCgoxNSAwIG9iago8PAovTW9kRGF0ZSAoRDoyMDI0MDEwNTEwMDM0NVopCj4+CmVuZG9iagoKMTYgMCBvYmoKPDwKL0ZpbHRlciAvU3RhbmRhcmQKL1YgNAovTGVuZ3RoIDEyOAovQ0YgPDwKL1N0ZENGIDw8Ci9BdXRoRXZlbnQgL0RvY09wZW4KL0NGTSAvQUVTVjIKL0xlbmd0aCAxNgo+Pgo+PgovU3RtRiAvU3RkQ0YKL1N0ckYgL1N0ZENGCi9SIDQKL08gPDhhOTNhYzFlNGMzOTBhMzM1MTM2NGFkYjg4ODM1YWM3YzI4M2NmNWEzNDgyNDJlY2UwMWQwN2FjZjhiYTRlYzY+Ci9VIDwwNzVhM2ZhNDBjODljNWY1N2ZiYTE4ODM0N2RkOGE4ZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPgovUCAtNAo+PgplbmRvYmoKCnhyZWYKMCAzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDAwMjAyIDAwMDAwIG4gCjQgMTMKMDAwMDAwMDI4NCAwMDAwMCBuIAowMDAwMDAwMzU4IDAwMDAwIG4gCjAwMDAwMDM0NDkgMDAwMDAgbiAKMDAwMDAwMzUwOSAwMDAwMCBuIAowMDAwMDAzNTk3IDAwMDAwIG4gCjAwMDAwMDM4NDEgMDAwMDAgbiAKMDAwMDAwMzk1MCAwMDAwMCBuIAowMDAwMDA1Mjc4IDAwMDAwIG4gCjAwMDAwMDU1ODggMDAwMDAgbiAKMDAwMDAwNTc4NyAwMDAwMCBuIAowMDAwMDA1ODg2IDAwMDAwIG4gCjAwMDAwMDU5OTAgMDAwMDAgbiAKMDAwMDAwNjA0MiAwMDAwMCBuIAoKdHJhaWxlcgo8PAovU2l6ZSAxNwovUm9vdCAyIDAgUgovRW5jcnlwdCAxNiAwIFIKL0luZm8gMTUgMCBSCi9JRCBbIDwwZTY0YmViY2QzNDMyMTk4N2M2OTI1OGNmMjMxZWE4Yz4gPDBlNjRiZWJjZDM0MzIxOTg3YzY5MjU4Y2YyMzFlYThjPiBdCj4+CgpzdGFydHhyZWYKNjM0MwolJUVPRg==

作为文字

%PDF-1.7
%

1 0 obj
<<
/CreationDate (D:20240103094920-05'00')
/Creator (PDF-XChange Editor 9.3.361)
/ModDate (D:20240105100343Z)
/Producer (pdf-lib (https://github.com/Hopding/pdf-lib))
>>
endobj

2 0 obj
<<
/AcroForm 4 0 R
/Metadata 5 0 R
/Pages 6 0 R
/Type /Catalog
>>
endobj

4 0 obj
<<
/DR <<
/Font <<
/Helv 7 0 R
>>
>>
/Fields [ 8 0 R ]
>>
endobj

5 0 obj
<<
/Length 3008
/Subtype /XML
/Type /Metadata
>>
stream
Kbù9Kw–5×ik¢w)-®•Æ‰yZˆ³­‚Æ´Î:$zûô7H+x·’À"~˹Xí(t@¦‚eBÌ$îˆë´/øçS0¼~Å.#â™âu8²‡~ÚC)J¬vtä Ž
nôÎŽ¤‹yQlø°·c~£mÛµëè/Çhiì¹ÃgY#WWIZoþG-Þ÷qçz×ê ñ{N»ƒqB:§@Êì±{Õg§ºÅ½2+Fl*Í­ºu Yñ­Â    ÛÂsÎK‰qþÜ$+õЇ¼õF8w¼ïì™?'_\åµ0«è‡~X[ý2¶Sî5\Ð¥q££R¶G¯¤5 \=
BäV:ÁÒŽ>¢«ð¢šw»^,ÂÑÑ¿(UëÕöds‰ŽI‚>Ì,.— dÕÖ!ž”P¹¦ÿkÊ
S´M÷nñqkx¡
WoÄ8ͨȷèQÂ=ýuÏÓyXûô¬#˜×g…¯O—Ž?#9&ãž«…ÍÇ÷ÞØ6)êS©
™¦:à7lYtãOuB˜êΧ‡Hש6]þÍ¢cd2üßúÏ™™-ý,ƈÛçxN·â´ÔŦl¯ h…‘ÕR®Ú6c Y§éYÉ j6bJxá‹^ùo¯d1š63©{‚6ê±uÈk-öã¯*žÆã2ªT7FcqÆÄhĬ;:]m]gŸåö–«q3™ø>ɆƒÛžB@X)?/N"…UJbcÜý²îÓéáRæ³JYè=FÖ;-“,óFeûº&§«Ÿ›ˆDÛ19Í VëقǛߋS_IäO‚xì¬ÆÍaËÇh‡yº{Wúe»'HÑX™ÅQà 7™ýàpû¬yM÷:æv‚¹_@`©†ú/;úî˜Fª}¢y`usxFȪ ø½ 2ä1þNĶø¦m…¡a
Ý×9nYî›° XÞ$òƒ“@¤ ðGK¯màqIà€éNŒÍíË4K¤”8Ã<AŽCµòÕá·ÆFBÓY4d‰™@Z%ä§ßÙ 6@‡"rüúô;~‚çYX™^2ReÞ¹·}úž&3×ebÆ pÿHÛp“‡°$눣ނì[!Pú»P   Ÿóu¦°‡³äL“8]´à؆q¼IÛ
­i¶ê,gÆ;bh.Y
 p\ÕN9s¥­ôl7lMbŒÒ8oŒçµð´…!ƒÖ^~A|²½e½õ´†ûE(Ø¢ÌÀÀË-SK…¾Òú"xE§;¡A¤=:ßLa‘³,x6=iuçªÔAŸ ¶n.XýZ‚]°€”ìé*ÔŽh¹T’%ìÛ¹î&D2Ïýh1£n»)‹úæƒDî ìòördÂWŸ@yb5¤gn6)ªbaÕHÎJdÝ>N~ù÷þ2Ç€ð¿å?U‚‡‹x•²g::ç3¬-_%> äÐhÒiÌk·v]rC §äe£Ÿpy“s÷ÍÇV÷…üXEw|yÃߟ=iÊú†¡)!eKë,x_uqrKrc8b‡X„)ÙÊ¢íL6A¬Bìê¼ä?%ÜÝÊ9±^HuuÞvI:•Ä‚6-FÃ#.{Ž|æ-¿6H4ŸOžëµý,Hl/5¹ƒ‡^é<³°PæJu
ºi³FPîØu›Ó"Iï>©Ç‹‚ŒÎ*ET´)Kåv+ŒVm? ûÈ9á3·‰Æä¨x(…Ò¦ñDWºZG¡œDÕFÒëG€»­`AÉù¸ù[ò'S"Jߘ§Úƒv‘ÿvÜÄBßE:¸1.VE‰µÞ\EL´`
)&k2éऋ]E.Ï‘JÄÊ‚½Õ•R­7·0‚:s°˜ü«qéõlϤñ#ËÛ{NЗUì¢&ëWêÏÓú>˜¨Á”ö`4ZŒ.¦£­½ôgÅ6ÃL3³«ZëÜ÷{Zß‘J{7ŠË«M49E¸uuòo6m¸ylä±s.3=¾‚lÂ`½wÖ~šàÌœV*ÆåàCãÚ™~ÏzËPwöNEX&G⻜BGUl¯ÆËT<vüNýC_ÔÍï^.æâ,H ±b€äxö{6þØYÑá¦àõ‡G&””6ɇóXw7TWš^¼<\ÜÛÌhâ¥IL€icÌ¡RÎq^ÇpÕœì¼t­Ð÷¾S F“%Ü=ËOβù?¹kóŠYxßk)à
‚¢töZä6ú(cì¬Pb^ŠdÍGÅꬲ*ÌŠ£ÑBuÉ uApº?Ö*¤zf‚Æ+•2“Âó"ûdS;æ°ggÈÐí°{%ú¯GœÐ
±ÜÁ²õb'§ù7òÆœâN=N%¶¾ð>œºOÐï#oø}ăŽrîø6£…LŒœpƒ[ñY³9¸{öçêÚ_3MÑDþ%¸CwäUìw`jÀŽÒaR+}aæ¯@àÙµYÒ†4}4
B¾åëáí„G !tß,Úןωá!ÍF|ê]˜µyç¡ÛæÊ_0RY>s¾|ò°-”J>"ÆC9Ÿì°Æß‘;ö¬^Óu·xª  Ǧ‰Þ–Êár]a\d5¬ëzþW@Û¼!+ìï´s6I
lÊI½3ˆM4ÌÞd\'.Ê÷þp¡«"¤"
ÙÁj¦šÉj´€E…¯=_y¡lvÕE·!Éê›^é´|Ts„ ãý­&ç Šù#–J3µMÁèÓÌLódK…¾ü,÷QD©`úÊ?ä²[™£ñã…Óc   ²ÅË]•JögÜjZäà$øäÖpü‘{÷ê xt‘˜‰¿Ù÷ÁŠP¦tú«tËW+Òö&«<ã|ë
ÀØî†z­é:‘¢5³ì—³¤·èy*ÊÎML‚Õƒ&@ ®ñ5Ü6ç ôGlhC,°ýQ(H·ò16žz¶Ó_Ëê X)‰á棱i=‰M
eH˜5L
iGÏ. ž?zÐ ¼ä¾…cšô÷µÄù…ÀoOÎûô¯® Ù[ÇA
(MÆÈáö":çhË;°d¨ˆ3Hd}AÐ/££žaX\xZÇ¿áóú²Å­5Ãl rŠ`æ?‰hº;Çä3QЫ1Œ/wNU¥™Àé’.K¸¥y
‘ób ŸÕùÅ<“ §èW4 0cIõAšÇoåJö5öƒø„±†YïŒ'¬<DÑ~äçmÕSî³"éžId°+©Âü8®ü„¾´î0£°\Qw’Es§:?x!ûf†E0Óž¯¢^—(R=1ï¿^û#:
2kiBxô´ÖŠÜ]ˬ²9p<­É*¿iŒ)ï=ÜÈäùÀSã@“›@jŒu5÷i˜ñÇÂsÖ R<’±‡÷Õ…àØ£š%Ý#½¢Aq4?kxL!¨/Ãñ<eÄÚ¢šÜàÄ„D6!¤¢SúžH&¤êoÔ[,-Gj¿Œ]T—+že3s+‰ù
Õa8!0,¹G;Ýôø±§ší,Ù×$DÕöMõÎ$å3Z…g =?^áúò×Ñ   `¯WjÞw[²[—ÁÌê‡m‰[ÆÆiŸ
W"2åö3>Úö´vAžx
¿¡KÊÏD篴­j—߇«Î/LŸ­/ÝmwÎÙf*o±Éìf"^BØ®#úe =DÅR»Œ7éÜeë0Eb‰ŠAcí±»ømV–l(Ðó¯båaòyÐ"sUÂ$O5Î}.³ð©ŠÄ†6'±]ß ¿pRZG^ÍPâ‡&ä݇âixDÈ›ÁW”}ÃìÑ´…¦;Éaèfª>ÃR¨öMÿæ é¼=îþO_åØôèXÖ0ò/þd ÓM¸ÊÒ­ZÓ§tòS$dAó´L¤-Cû²:Í3^f$UÂl£ób<5óZ|X«YƒvË{HÎ    ¹(‘½Ÿ:q2˜VÝkÈ9ýsw¨  ÒdH8žÐÕç¦ñxÞffSK#’;¨«ÄõÐôÆ
endstream
endobj

6 0 obj
<<
/Count 1
/Kids [ 9 0 R ]
/Type /Pages
>>
endobj

7 0 obj
<<
/BaseFont /Helvetica
/Encoding 10 0 R
/Subtype /Type1
/Type /Font
>>
endobj

8 0 obj
<<
/AP <<
/N 11 0 R
>>
/DA (0 g /Helv 0 Tf)
/DV (I am a default value)
/F 4
/FT /Tx
/MK <<
/BC [ 0 0 0 ]
>>
/P 9 0 R
/Rect [ 32.076511 725.777222 182.076508 747.777222 ]
/Subtype /Widget
/T (Text1)
/Type /Annot
/V (Hello SE)
>>
endobj

9 0 obj
<<
/Annots [ 8 0 R ]
/MediaBox [ 0 0 612 792 ]
/Parent 6 0 R
/Resources <<
>>
/Type /Page
>>
endobj

10 0 obj
<<
/Differences [ 24 /breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction /guilsinglleft /guilsinglright /minus /perthousand /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron 160 /Euro 164 /currency 166 /brokenbar 168 /dieresis /copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu 183 /periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter /onehalf /threequarters 192 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ]
/Type /Encoding
>>
endobj

11 0 obj
<<
/BBox [ 0 0 150 22 ]
/Filter /FlateDecode
/Length 144
/Resources <<
/Font <<
/Helv 7 0 R
>>
>>
/Subtype /Form
/Type /XObject
>>
stream
q'I,][‚ŒÌÀtÙ·rR‹ÇåbVÀŠ  b^ÄQWÖÑÞvûSÌ=rÕ–ïç^ÐðsùV…ž¸ "E+—BªÑ#t©  [4cä¡pûðGÔŽ‹¨€£c5ÿØEx„RBïwUxªðäF>”'<¥œñkþžUU“Š4)
3ÐJÉO%Múÿ°Ü
endstream
endobj

12 0 obj
<<
/ModDate (D:20240105100345Z)
/Producer (pdf-lib (https://github.com/Hopding/pdf-lib))
/Creator (pdf-lib (https://github.com/Hopding/pdf-lib))
/CreationDate (D:20240105100345Z)
>>
endobj

13 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj

14 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj

15 0 obj
<<
/ModDate (D:20240105100345Z)
>>
endobj

16 0 obj
<<
/Filter /Standard
/V 4
/Length 128
/CF <<
/StdCF <<
/AuthEvent /DocOpen
/CFM /AESV2
/Length 16
>>
>>
/StmF /StdCF
/StrF /StdCF
/R 4
/O <8a93ac1e4c390a3351364adb88835ac7c283cf5a348242ece01d07acf8ba4ec6>
/U <075a3fa40c89c5f57fba188347dd8a8f00000000000000000000000000000000>
/P -4
>>
endobj

xref
0 3
0000000000 65535 f 
0000000016 00000 n 
0000000202 00000 n 
4 13
0000000284 00000 n 
0000000358 00000 n 
0000003449 00000 n 
0000003509 00000 n 
0000003597 00000 n 
0000003841 00000 n 
0000003950 00000 n 
0000005278 00000 n 
0000005588 00000 n 
0000005787 00000 n 
0000005886 00000 n 
0000005990 00000 n 
0000006042 00000 n 

trailer
<<
/Size 17
/Root 2 0 R
/Encrypt 16 0 R
/Info 15 0 R
/ID [ <0e64bebcd34321987c69258cf231ea8c> <0e64bebcd34321987c69258cf231ea8c> ]
>>

startxref
6343
%%EOF

未加密的PDF:

%PDF-1.7
%

1 0 obj
<<
/CreationDate (D:20240103094920-05'00')
/Creator (PDF-XChange Editor 9.3.361)
/ModDate (D:20240105100317Z)
/Producer (pdf-lib (https://github.com/Hopding/pdf-lib))
>>
endobj

2 0 obj
<<
/AcroForm 4 0 R
/Metadata 5 0 R
/Pages 6 0 R
/Type /Catalog
>>
endobj

4 0 obj
<<
/DR <<
/Font <<
/Helv 7 0 R
>>
>>
/Fields [ 8 0 R ]
>>
endobj

5 0 obj
<<
/Length 2979
/Subtype /XML
/Type /Metadata
>>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
        <rdf:Description rdf:about=""
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
                xmlns:xmp="http://ns.adobe.com/xap/1.0/"
                xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
            <dc:format>application/pdf</dc:format>
            <xmpMM:DocumentID>uuid:f0bc7a01-dd93-4c4e-9bec-783a9464b1c0</xmpMM:DocumentID>
            <xmpMM:InstanceID>uuid:6b75ef77-09b1-43ed-8d0b-d5721e91bdea</xmpMM:InstanceID>
            <xmp:CreateDate>2024-01-03T09:49:20-05:00</xmp:CreateDate>
            <xmp:CreatorTool>PDF-XChange Editor 9.3.361</xmp:CreatorTool>
            <xmp:ModifyDate>2024-01-05T04:52:55-05:00</xmp:ModifyDate>
            <pdf:Producer>PDF-XChange Core API SDK (9.3.361)</pdf:Producer>
        </rdf:Description>
    </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                           
<?xpacket end="w"?>
endstream
endobj

6 0 obj
<<
/Count 1
/Kids [ 9 0 R ]
/Type /Pages
>>
endobj

7 0 obj
<<
/BaseFont /Helvetica
/Encoding 10 0 R
/Subtype /Type1
/Type /Font
>>
endobj

8 0 obj
<<
/AP <<
/N 11 0 R
>>
/DA (0 g /Helv 0 Tf)
/DV (I am a default value)
/F 4
/FT /Tx
/MK <<
/BC [ 0 0 0 ]
>>
/P 9 0 R
/Rect [ 32.076511 725.777222 182.076508 747.777222 ]
/Subtype /Widget
/T (Text1)
/Type /Annot
/V (Hello SE)
>>
endobj

9 0 obj
<<
/Annots [ 8 0 R ]
/MediaBox [ 0 0 612 792 ]
/Parent 6 0 R
/Resources <<
>>
/Type /Page
>>
endobj

10 0 obj
<<
/Differences [ 24 /breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction /guilsinglleft /guilsinglright /minus /perthousand /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron 160 /Euro 164 /currency 166 /brokenbar 168 /dieresis /copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu 183 /periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter /onehalf /threequarters 192 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ]
/Type /Encoding
>>
endobj

11 0 obj
<<
/BBox [ 0 0 150 22 ]
/Filter /FlateDecode
/Length 122
/Resources <<
/Font <<
/Helv 7 0 R
>>
>>
/Subtype /Form
/Type /XObject
>>
stream
xÚÉ1
Â@@Ñ~NñKm63!qM›°˜&…fÀh$(¦0âée›Ïƒ¯(Ê週J¨    5V5”Æ21Já_Ú¡“·†U{JÍçÌSZåŽâ—œSÅÙKÑOó‹¡Áo”T!6q‡_eÓOóübL[Hr9J:ùÇ"š
endstream
endobj

12 0 obj
<<
/ModDate (D:20240105100317Z)
>>
endobj

13 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj

14 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj

xref
0 3
0000000000 65535 f 
0000000016 00000 n 
0000000202 00000 n 
4 11
0000000284 00000 n 
0000000358 00000 n 
0000003420 00000 n 
0000003480 00000 n 
0000003568 00000 n 
0000003812 00000 n 
0000003921 00000 n 
0000005249 00000 n 
0000005537 00000 n 
0000005589 00000 n 
0000005688 00000 n 

trailer
<<
/Size 15
/Root 2 0 R
/Info 12 0 R
/ID [ <482C1B0356F27EAD2EB01BDF7B8A9DF9> <482C1B0356F27EAD2EB01BDF7B8A9DF9> ]
>>

startxref
5792
%%EOF

我已经加密/解密了/AP,但它不起作用,这是解压缩的/AP:

0 0 0 RG 1 w
.5 .5 149 21 re S
/Tx BMC
q
1 1 148 20 re W n
BT
0 g 0 Tc 0 Tw 100 Tz 0 Tr/Helv 17.9 Tf 2 4.7976 Td
(Hello SE)Tj
ET
Q
EMC

作为字节数组:

[120,218,21,201,49,10,194,64,16,64,209,126,78,241,75,109,54,51,33,113,77,155,176,152,38,133,102,192,3,104,20,36,40,166,48,226,233,101,155,207,131,175,40,202,233,128,177,74,168,9,53,86,53,148,198,50,49,74,225,95,218,161,147,183,24,134,85,123,74,205,231,204,83,90,23,229,142,226,151,156,21,83,197,127,217,75,209,79,243,7,139,161,193,111,148,84,33,54,113,135,95,101,211,79,243,252,98,76,91,127,72,114,57,74,26,58,249,3,199,34,30,154]

也许我对 /AP 进行了错误的编辑,也许是大小和外部参照,我更改了它们,我不知道我的加密中缺少什么

javascript pdf encryption pdf-lib.js
1个回答
0
投票

正如评论中已经指出的,PDF 声称是完全加密的,即字符串和流,但字符串实际上是没有加密的,而流(元数据和小部件外观)确实是加密的。因此,字段名称及其当前值等字符串无法解密。

因此,PDF 基本上已损坏。

不同的 PDF 处理器如何处理此问题取决于实现。一些查看者忽略了 PDF 的底层表单结构已损坏,并仍然显示小部件注释,一些查看者尝试在内部修复表单结构,同时显示原始小部件或从修复的值创建新小部件,还有一些人干脆不显示小部件注释。完全破坏表单结构的小部件。

我用验证工具测试了加密的pdf(https://www.pdf-online.com/osa/validate.aspx),pdf是有效的。

如果该工具确实测试您的 PDF 是否有效,那么我会对该工具的质量产生怀疑。

© www.soinside.com 2019 - 2024. All rights reserved.