3

Camelot ライブラリで問題が発生しています

PDF からデータを抽出しています。コードは前の 23 ページで「正常に」実行されていますが、この場合、テキスト/テーブルの末尾の解析に失敗しています。

問題は、文字列が長すぎてテーブルの境界に達していることだと思います

「ストリーム」も試しましたが、最悪の結果になりました

PDFソースデータ

pdf

PDF出力レイアウト

レイアウト

解析された出力は次のようになります

"ALT4945\n24 V"
"70\/140 A   ALT5860\n12 V\n90 A"

望ましい出力は

"ALT4945\n24 V 70\/140 A"
"ALT5860\n12 V\n90 A"

前のページで正しく機能する最初のコードは

tables = camelot.read_pdf("CROSSREFERENCE.pdf", pages=wPAGES, flavor="lattice")

Web サイト Camelot Doc からhttps://camelot-py.readthedocs.io/en/master/api.html pdf パーサーで可能な構成を取得します。

"" PARAMS for lattice
line_scale  (default: 15)
copy_text   ((default: None))
shift_text  (default: ['l', 't'])
line_tol    (default: 2)
joint_tol   (default: 2)
threshold_blocksize   (default: 15)
threshold_constant    (default: -2)
iterations   (default: 0)
resolution   (default: 300)
"""

次に、その問題を取得し、より多くのパラメータで「再生」を解決しようとしましたが、勝者が見つかりませんでした

tables = camelot.read_pdf("CROSSREFERENCE.pdf", pages=wPAGES, flavor="lattice", split_text=True, resolution=720, line_scale=250, line_tol=3, joint_tol=3, threshold_blocksize=15)

tables = camelot.read_pdf("CROSSREFERENCE.pdf", pages=wPAGES, flavor="lattice", split_text=True, resolution=720, line_scale=250, line_tol=1, joint_tol=1, threshold_blocksize=3)

それを避けるために、パラメータについてアドバイスをもらえますか??

ありがとう

edit1: PDF ソース : https://www.siom.it/images/catalogo-motorini-alter.pdf (24 ページ)

4

1 に答える 1