Referenz: Japanischen Text mit PDFMiner aus PDF extrahieren
Dies ist fast die Methode. Ich habe nichts Interessantes gemacht.
Eine Bibliothek namens PDFMiner. Es ist ein Schuss mit Pip.
pip install pdfminer.six
Auf der Referenzseite gab es Japanisch, aber selbst wenn ich es mit pip einfügte, wurde Japanisch richtig erkannt.
Die Daten zum CSV-Erstellungsdatum sind in der Spalte "Aktualisierungsdatum" enthalten. -PDF-Textdaten sind in der Spalte "Satz" enthalten -Die Seitenzahl der PDF wird in die Spalte "Seitenzahl" eingetragen.
Dies ist die Quelle der 90% -Referenzseite.
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
import csv,re,datetime
import pandas as pd
class converter(object):
def pdf_to_csv(self,p_d_f):
df = pd.DataFrame(columns=["Datum und Uhrzeit aktualisieren","Satz","Seitennummer"])
#PDF-Textextraktion von hier
cnt = 1
space = re.compile("[ ]+")
fp = open(p_d_f, 'rb')
for page in PDFPage.get_pages(fp):
#Sequentielle Initialisierung
rsrcmgr = PDFResourceManager()
outfp = StringIO()
codec = 'utf-8'
laparams = LAParams()
laparams.detect_vertical = True
device = TextConverter(rsrcmgr, outfp, codec=codec, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
interpreter.process_page(page)
text = re.sub(space, "", outfp.getvalue())
df.loc[cnt,["Satz","Seitennummer"]] = [text,cnt]
cnt += 1
outfp.close()
fp.close()
device.close()
now = datetime.datetime.now()
df["Datum und Uhrzeit aktualisieren"] = now
csv_path = p_d_f.replace('.pdf', '.csv')
df.to_csv(csv_path, encoding='CP932', index=False)
if __name__ == "__main__":
p_d_f = "Irgendwie.pdf"
con=converter()
hoge=con.pdf_to_csv(p_d_f)
Der Unterschied zur Referenzsite besteht darin, dass das Feld (outfp), in dem die aus der PDF-Datei extrahierten Textdaten gespeichert sind, an der Stelle initialisiert wird, an der sie in den Datenrahmen eingefügt werden. Wenn es so bleibt, werden die Textdaten aller Seiten immer mehr hinzugefügt. Wenn Sie es in einen Datenrahmen einfügen, ist es dieser, also frage ich mich, ob Sie schnell kleine Spalten hinzufügen können.
Es kann sein, dass es einfach ist, dass die CSV-Konvertierung nicht auf einmal erfasst wurde, selbst wenn ich gesucht habe, sondern um Notizen zu schreiben.
Fortsetzung aus irgendeinem Grund
Recommended Posts