【发布时间】:2019-04-24 14:14:44
【问题描述】:
我正在编写代码以从 PDF 文件中提取 URL。在大多数文件中,URL 显示为纯 ascii。但是,在某些 PDF 文件中,例如 PDF 规范本身 (https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf),URL 以十六进制形式出现,似乎没有结构。
例如,在上述文件中,在主要元数据中,作者出现为:
/Author <F240D629CD72348F>
Atril 和其他 PDF 查看器将其解码为“Jim King”。正如预期的那样,十六进制字符串的长度是文字值长度的两倍,但被打乱了,无法识别。假设字节值到字符的映射为 1:1,“i”被编码为 0x40 和 0x72。
实际网址值:
<EB345AA632781A90E90781A4A0BF42680D1F1AD67910B293798B0AFFED8407CE12684F21B7F471D96DCE4864CAB970A98E7F911C207A12C6E6900D789BC13AE87E76A9D6B8EDDADE7A53EAA521E6421295EA31305C>
应解码为:
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=51502
我还查看了设法解码这些字符串的 PyPDF2 源代码,但我没有找到答案。
如何在 PDF 文档中找到用于注释的编码?
【问题讨论】: