У меня есть файлы гимнов на местном языке в формате pdf (нуэрский язык), и я хотел изменить их на JSON, преобразовав их в текст, а затем в JSON, чтобы я мог сохранить их в базе данных, но текстовый файл приходит с другой кодировкой, чем исходный pdf после преобразования, даже не может прочитать ее, не знаю, есть ли у python способ сохранить исходную кодировку, или если javascript делает так, я могу использовать javascript вместо *1033* сæ бен сьендо ниаал, бе кæ шё бэ дет бен кян. Æ Jithæth Kuäär mì dììt mì gaañ kœœn, bæ kœn gañ kæ --akak ti jiääk diaal, Jithæth Kuäär mì dììt ræy ciëën nhiaal. Ca puåt jiaath kæ Kuìdä pàny.
ожидаемый результат:
Ожидаемый результат - исходный файл PDF Я попытался изменить кодировку с utf-8, равную python по умолчанию str-кодировка для pdf, но все равно получил тот же результат. когда я попробовал кодировку, он не читает локальные символы, такие как: ɛ, ŋ, ɣ, ɔ a̱, ä, ɛ̈ и o̱, он возвращает указанную выше латинскую кодировку на своих местах.
вот код и код c, даже если я изменю его на 16, 32 ничего не поможет.
>
import sys
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.converter import XMLConverter, HTMLConverter, TextConverter
from pdfminer.layout import LAParams
import io
import os
def pdfparser(pdfDir, txtDir):
rsrcmgr = PDFResourceManager()
retstr = io.StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
# Create a PDF interpreter object.
interpreter = PDFPageInterpreter(rsrcmgr, device)
if pdfDir == "":
pdfDir = os.getcwd() + "\\" #if no pdfDir passed in
for pdf in os.listdir(pdfDir): #iterate through pdfs in pdf directory
if pdf.endswith('.pdf'):
print(pdf)
pdfFilename = pdfDir + pdf
fp = open(pdfFilename,'rb')
# Process each page contained in the document.
for page in PDFPage.get_pages(fp):
interpreter.process_page(page)
data = retstr.getvalue()
textFilename = txtDir + pdf + ".txt"
with open(textFilename, "w", encoding = 'utf-8') as f: #make text file
f.write(data) #write text to text file
return textFilename
if __name__ == '__main__':
pdfparser('./pdfs/', './texts') #those are the folder names where i stored pdf
#and where I want to store the newly generated text files