我使用以下脚本将pdf的每个页面转换为文件,但是我遇到了一些奇怪的情况,其中页面上的大多数文本都已损坏。有些pdf很完美而其他的不完整,所以我猜测有些编码方式不同,所以我想知道是否有人知道我可以在脚本中更改哪些设置说明这一点。它是我使用的编解码器吗?
# Python 3
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def set_interpreter():
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
return { 'retstr': retstr, 'device': device, 'interpreter': interpreter }
si = set_interpreter()
retstr = si['retstr']
device = si['device']
interpreter = si['interpreter']
fp = open(path, 'rb')
password = ""
maxpages = 0
caching = True
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password, caching=caching, check_extractable=True):
interpreter.process_page(page)
f = open(new_file, 'w') # Open file
f.write(retstr.getvalue())
f.close()
si = set_interpreter()
retstr = si['retstr']
device = si['device']
interpreter = si['interpreter']
这是损坏的输出的开始,显示正确的部分然后变回被损坏。
& -?í=
- 6AéCH=B | lunes 27 de junio del 2 011
-567,1
-+Í) 51,)41)
4AAI=I >== $
A A FHEAH JHEAIJHA
- BK @A ?=FEJ=AI ALE=@I FH I ECH=JAI A?K=JHE=I A I
FHEAHI JHAI AIAI @A AIJA =ñ BKA ' EAI AI GKA @KH=JA A
?K=HJ JHEAIJHA @A ,AI@A -IF=ñ= IA HAEJEAH #'% EAI
?A ?KE@=@AI IA KA
F=H= =FHLA?D=H IK JKHEI
.
)
4
/
É
-
6
-
|
1
8
0
+
4
)
4A@=??Eó -?í=
A?í=(JAACH=B?A?
- BK @A HAAI=I B=EE=HAI FH
LAEAJAI @A -IF=ñ= -IJ=@I 7E
@I @A )éHE?= A 1J=E= @AI?A@Eó =
## EAI GKA IECEBE?= K
$ EBAHEH = FHAIAJ=@ A A
?K=HJ JHEAIJHA @A ##'
EAI O =OH A $$ ?
F=H=@ ? A FHEAH JHEAIJHA @A
##' EAI IACú K
EBHA @A = ,EHA??Eó @A -IJ=
@íIJE?=I -?óE?=I @A *=? +A
JH= @A -?K=@H *+-
- EI AIJK@E IAñ== GKA -I
F=ñ= -IJ=@I 7E@I A 1J=E= HA
FHAIAJ= A '!! @A BK JJ= @A
HAAI=I HA?E>E@ A A FHEAH JHE
AIJHA @A - J JJ= A
LE=@ @AI@A AI=I =JEJK@AI IA K>E?ó
A I #&'%
=I HAAI=I HA?E>E@=I @AI@A -I
F=ñ= A A FHEAH JHEAIJHA @A
IK=H #'% EAI ?JHE
>KOA@ ? A "" @A BK JJ=
A A F=íI ANFAHEAJ=@ K= @EI
EK?Eó @A ?JA=@ ? A
?K=HJ JHEAIJHA @A $!
EAI EAJH=I GKA ?F=H=@
? A FHEAH JHEAIJHA @A
'% EAI FHAIAJ= K =K
AJ @A &
- AIJA EI FAHí@ -IJ=@I
7E@I HAEJEó = -?K=@H !"
EAI GKA HAFHAIAJ= A !'%
@A J JJ= HA?E>E@ 1CK=A
JA = ?F=H=H AIJA L=H ? A
?K=HJ JHEAIJHA @A "&#
EAI FHAIAJ= K= @EIEK?Eó
@A #' O IEE=H ?FHJ=EAJ
.
)
4
/
É
-
6
-
|
1
8
0
+
4
)
Los migrantes ecuatorianos en España siguen siendo los que más cantidad
de remesas envían anualmente, superando a los de EE.UU. e Italia.
IA >IAHL= F=H= A FHEAH JHEAIJHA
@A "& EAI ? K=
?JH=??Eó @A #%
这是此实例发生的页面。 需要注意的是,还有其他pdf能够完全阅读而没有问题,因此我认为该脚本非常可靠,除了可能没有考虑到我不知道的pdf格式的某些差异。
这是实际文件: PDF