【发布时间】:2018-08-10 10:47:59
【问题描述】:
我有一个 PDF 1.3,我想在其中提取文本。 但是在流中有两种不同类型的文本。 一些纯文本和一些带有转义序列的字符编码文本。
这里是一个例子:
/TextClip BMC
BT
/T1_2 1 Tf
0 Tc 0 Tw 7 Tr 16.2626 0 0 16.2626 37.2512 581.738 Tm
(Test Test)Tj
ET
EMC
q
/GS0 gs
67.6799985 0 0 -13.4399997 37.439994 594.2399583 cm
/Im47 Do
Q
Q
Q
q
37.499 569.52 179.713 8.34 re
W n
q
/GS0 gs
180.959996 0 0 -9.5999998 36.959999 578.3999755 cm
/Im48 Do
Q
Q
q
37.499 569.52 179.713 8.34 re
W n
q
/TextClip BMC
BT
0 Tc 0 Tw 7 Tr 9.899 0 0 9.899 37.2512 569.7178 Tm
[(\000E\000V\000d\000e\000\003\000E\000V\000d\000e)]TJ
ET
EMC
在此示例中,文本“Test Test”有 2 次。一次是计划文本,另一次是转义序列\000E\000V\000d\000e\000\003\000E\000V\000d\000e。
我只知道,如果转义序列后有 3 位数字,这是一个八进制字符代码。但在我的示例中,有时是 4 位,有时是 3 位。
转义序列后的第 4 个字符位于正确的 ascii 代码旁边的 15 处。 (\000E 是字符“T”)但是正确的转换是什么?
文本块\000\003 应该是一个空格符号。有什么转换技巧?
问候
【问题讨论】:
-
您为什么要手动执行此操作?您应该使用某种 PDF 库来为您处理此问题。
标签: pdf text extract text-extraction