問題タブ [tabula]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
184 参照

python - Popen() 呼び出しのスロットリング

最初の Popens が解決される前に、Popen() であまりにも多くのプロセスを開始すると、どのくらいの危険性がありますか?

PDFで満たされたディレクトリで処理を行っています。各ファイルを反復処理し、外部呼び出しを使用して 2 つのことを行います。

まず、Xpdf ベースの pdftohtml ツールから HTML 表現を取得します (pdfminer は遅すぎます)。これにより、最初のページのみが出力されます。

次に、条件が満たされている場合 (それが適切なドキュメントであることを確認した場合)、それに対して tabula-extractor を呼び出してテーブルを抽出します。これは、ドキュメントのチェックに比べて低速/長時間実行されるプロセスであり、おそらく 1/20 ファイルでのみ発生します。

もしそうするだけならcall(['jruby', 'C:\\jruby-1.7.4\\bin\\tabula', .....])、抽出が完了するのを待つのに長い時間を費やし、より多くのファイルをチェックすることができます (私は 4 コアと 16 GB の RAM を持っていますが、Tabula はマルチスレッドではないようです)。

代わりに、ブロックを回避するために Popen() を使用しています。

戻り値は気にしません (tabula は csv ファイルを作成しているので、作成が成功したかどうかは事後にいつでも確認できます)。このようにすることで、バックグラウンドでファイルをチェックし続け、必要に応じてより多くのタブラ プロセスを開始できます (これも 20 分の 1 程度です)。

これは機能しますが、バックログが発生し、一度に大量のタブラ プロセスを実行することになります。だから私の質問は:これは悪いですか?それ以外の理由でコンピューターの速度が低下しますが、クラッシュせず、可能な限り高速に動作している限り、私はあまり気にしません (4 つのコアすべてが常に 100% で動作しますが、メモリ使用量はそうではありません)。 5.5GB を超えると、CPU バウンドのように見えます)。

それが悪い場合、それを改善する正しい方法は何ですか? タブラ プロセスをキューに入れ、コアごとに常に 1 ~ 2 個のプロセスが実行されるようにする便利な方法はありますが、一度に 30 個のファイルを処理しようとはしていません。

0 投票する
1 に答える
344 参照

ruby - jruby モジュールがインストールされているかどうかを確認するにはどうすればよいですか?

私はRuby、Rails、Jrubyにとても慣れていません。しかし、私は本当にtabula-extractorを試してみたいと思っています。確認方法がわかりませんが、正しくインストールしたと思います。これは、最初の提案に基づいた私のスクリプトです。

これを実行すると、次のようになります。

それをどのように解釈するかさえわかりません。Tabula が見つからないと言っているのではなく、"NameError" があるというだけです。extractor = Tabula::Extraction::ObjectExtractor.new(pdf_file_path, :all )

明らかな何かが欠けていると確信しています。tabula-extractor が本当にインストールされているかどうかさえわかりません。私は走っjruby -S gem install tabula-extractorてこれを取り戻しました:

これはエラー メッセージでも成功メッセージでもありません。

0 投票する
2 に答える
306 参照

pdf - PDF から表を抽出する際の問題

このトピックに関するスレッドがいくつかあることは知っていますが、それらの解決策はどれもうまくいかないようです。PDF ドキュメントに表があり、そこから情報を抽出できるようにしたいと考えています。テキストをコピーして textedit に貼り付けることができます。読みやすいですが、実際には使用できません。これは、すべてのテキストが読み取り可能であることを意味しますが、データはすべてスペースで区切られており、セル内のテキスト内のスペースと列を区別する方法はありません。

しかし、タブラやスクレーパー wiki などのツールを使用しようとすると、抽出されたテキストはゴミになります。

これについてどうすればよいかについて、誰かが私に何か指針を与えることができますか?

0 投票する
0 に答える
377 参照

java - ファイル変換用 Java jar

tabula jarを使用して、以下のコードを使用してコマンドプロンプトでpdfをcsvファイルに変換しています。

PDFの最初のページのみをcsvに変換できます。しかし、pdfのすべてのページをcsvに変換する必要があります。魔女のコマンドを通じて、私はこれを達成できます。親切に私を助けてください。よろしくお願いします

0 投票する
0 に答える
71 参照

pdf - 一見簡単そうに見える PDF 変換が適合の原因になっている

私は Tabula を使用して PDF を CSV ファイルに変換することに多くの成功を収めてきましたが、この特定の 1 つがあらゆる種類の問題を引き起こしています。ファイルはここにあります。

複数の行スパンが Tabula の問題を引き起こしているようです。Tabula がファイルを完全に変換するとは思わず、後処理のクリーンアップ (通常はいくつかの sed コマンド) を行う必要があると予想しますが、出発点となる CSV ファイルの作成にはまだ近づいていません。 . スプレッドシート、スプレッドシートなし、推測、列、および領域を試しましたが、成功しませんでした。何を試すべきかについて他に考えがある人はいますか?

0 投票する
1 に答える
1092 参照

php - PHPで書かれた別のプログラムからtabula-javaを呼び出す方法は?

状況

私はPHPで書かれたウェブサイトを持っています。

PHP では、同じ Web サイトなどにアップロードされた pdf ファイル内のテキストを抽出できます。

tabula-java github リポジトリを見つけました。

それで、問題は何ですか?

タブラ用のMacアプリを試しました。テーブル データを変換する前に、pdf の特定のセクションを強調表示する必要があることに気付きました。

しかし、それは私が達成したいことではありません。バックグラウンドでオンデマンドでタブラを実行したい。私のウェブサイトがファイルのアップロードを受け取り、特定の条件が満たされたときに、何らかの方法でタブラをサービスとして呼び出し、非構造化データをフィードしてから、集計されたデータを取得したいと考えています。

どうすればこれを行うことができますか?

0 投票する
2 に答える
242 参照

java - コマンドを実行する Java コード

Java プログラム内からタブラ ツール コマンドを実行したいと考えています。私が試しているコードは次のとおりです。

それは機能していません。助けていただければ幸いです。 このコマンドは Java から実行する必要があります

0 投票する
1 に答える
695 参照

python - PDFを解析するときのTabula-pyフォントエラーtahoma

私はdebian jessieで実行しています。tabula-py ライブラリを使用して PDF を解析しようとしていますが、このエラーが発生します

それを修正するにはどうすればよいですか?

これが私のコードです:

この行でエラーが発生します

df = read_pdf_table('ed.pdf', area=(top,left,bottom,right))

0 投票する
0 に答える
419 参照

pdf - PDF を Excel に変換中にエラーが発生する Tabula コマンド ライン

tabulaコマンドラインを使用してPDFをcsvに変換しようとしましたが、エラーが発生しました

誰でも助けてください。