pdf 파일의 일반적인 속성을 일부 추출하고 싶습니다. 지금까지는 새로운 입력 파일을 시도하면서 이상한 새로운 오류가 발생했음을 제외하고는 매우 잘 작동했습니다."x9f x00ä x00? x00_ x00ë "등의 코드를 디코드하십시오. 파이썬 3의 문자열
구문 분석을 위해 pdfminer.six를 사용하고 있습니다. 이 코드 등 제목, 저자, 주제, 외모를 추출하는 것입니다 같은 : 이제
pdf_data = {
'Number of words': len(words),
'Number of paragraphs': len(paragraphs),
'Number of pages': len(pages)
}
if len(doc.info) > 0:
pdf_data_keys = ["latin", "windows-1252"]
for key in pdf_data_keys:
properValue = ""
value = doc.info[0].get(key)
if value is not None:
for enc in encodings:
try:
properValue = value.decode(encoding=enc)
break
except Exception as ex:
continue
if properValue != "":
pdf_data[key] = properValue
코드를 실행 한 후, 나는 오류를 얻을하지 않습니다, 그러나 이것은 새로운 파일에 제목 표시됩니다 :
'Title': 'Ú\x9f\x00ä\x00?\x00_\x00ë\x00È\x00/\x00Å\x00Á\x00\x80\x00(\x00ë\x00ä\x00ñ\x00\x80\x00ï\x00?\x00Ê\x00%\x00À\x00\x80\x00è\x00ê\x00+\x00\x80\x00í\x00ä\x00ñ\x00è\x00ë\x00\x80\x00á\x00è\x00ã\x00\x80\[email protected]\x00\x80\x00á\x00è\x00ã\x00\x91\x00\x91\x00\x90\x00\x80\[email protected]\x00\x80\x00<\x00í\x00\x90\x00\x93\x00\x99\x00\x16\x00\x94\x00\x99\x00\x94\x00\x95\x00\x96\x00\x16\x00\x80\[email protected]\x00\x80\x00ü\x00Â\x00Á\x00Ê\x00Ë\x00Ñ\x00Ä\x00Ç\x00È\x00\x80\[email protected]\x00\x80\x00Â\x00?\x00Á\x00Ê\x00Ë\x00Á\x00\x05\x00Ë\x00È\x00Í\x00È\x00È\x00Å\x00/\x00Ê\x00È\x00\x06\x00À\x00Á'}
나는이에 거기 짧은 목록을 변환, 존재 인코딩의 모든 다른 유형의 퍼팅 시도했다 :
encodings = ['ascii', 'big5', 'big5hkscs', 'cp037', 'cp273', 'cp424', 'cp437', 'cp500', 'cp720', 'cp737',
'cp775', 'cp850', 'cp852', 'cp855', 'cp856', 'cp857', 'cp858', 'cp860', 'cp861', 'cp862', 'cp863',
'cp864', 'cp865', 'cp866', 'cp869', 'cp874', 'cp875', 'cp932', 'cp949', 'cp950', 'cp1006',
'cp1026', 'cp1125', 'cp1140', 'cp1250', 'cp1251', 'cp1252', 'cp1253', 'cp1254', 'cp1255',
'cp1256', 'cp1257', 'cp1258', 'cp65001', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr',
'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1', 'iso2022_jp_2', 'iso2022_jp_2004',
'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4',
'iso8859_5', 'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_11',
'iso8859_13', 'iso8859_14', 'iso8859_15', 'iso8859_16', 'johab', 'koi8_r', 'koi8_t', 'koi8_u',
'kz1048', 'mac_cyrillic', 'mac_greek', 'mac_iceland', 'mac_latin2', 'mac_roman', 'mac_turkish',
'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213', 'utf_32', 'utf_32_be', 'utf_32_le',
'utf_16', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8', 'utf_8_sig', "idna", "mbcs", "oem", "palmos",
"punycode", "raw_unicode_escape", "rot_13", "undefined", "unicode_escape", "unicode_internal",
"base64_codec", "bz2_codec", "hex_codec", "quopri_codec", "string_escape", "uu_codec",
"zlib_codec"]
아직이 도움이되지 않습니다.
필자는 파이썬에 관해서라면 절대 초보자입니다.
멋진 하루 보내십시오!
안녕하세요. 1 월, 답변 해 주셔서 감사합니다. 거기에서 볼 수 있듯이 모든 유형의 UTF 인코딩을 루프에 포함 시켰습니다. 슬프게도, 그 문제를 해결하지 않았다 : / – Lena