2017-07-12 9 views
0

私はpdfのPID図面(スキャンされたコピーではありません)を持っています。 PDFには、テキスト、オブジェクト、楽器の線などのレイヤーがあります。レイヤーを見ることができます。私の目的は、テキスト部分をコピーして要件ごとに処理することです。しかし、私は通常のコードを介してテキストのいずれかをコピーすることはできません。それを行う方法はありますか?現在、私はpdfを開いてキーを送信する簡単なコードを使用していますctrl + actrl + cvbaを使用してpdfからexcelにテキストをコピーすることはできません

+0

[Adobe Acrobat Readerを使用してPDFデータを取得するためのVBAコード](https://stackoverflow.com/questions/25168679/vba-code-for-retrieving-pdf-data-with-adobe-acrobat-reader)の可能な複製) –

答えて

2

iTextの使用を検討してください。それはあなたがpdfドキュメント(ファイル、一般的な入力ストリーム、バイト[])から読むことができ、テキスト抽出を可能にする方法を持っています。いくつかの調整をするだけで、テキストの場所も簡単に抽出できます。

5

それとも、あなたはそれを現在の方法を行う上で主張すれば、ここでのJava実装です:

Desktop.getDesktop().open(new File("C:\\Users\\Joris Schellekens\\Desktop\\pdfs\\30.pdf")); 
Thread.sleep(5000); 

Robot robot = new Robot(); 
robot.delay(1000); 

// press CTRL+A 
robot.keyPress(KeyEvent.VK_CONTROL); 
robot.keyPress(VK_A); 
robot.keyRelease(VK_A); 
robot.keyRelease(KeyEvent.VK_CONTROL); 

// press CTRL+C 
robot.keyPress(KeyEvent.VK_CONTROL); 
robot.keyPress(VK_C); 
robot.keyRelease(VK_C); 
robot.keyRelease(KeyEvent.VK_CONTROL); 

// open empty file 
Runtime.getRuntime().exec("notepad.exe"); 
Thread.sleep(5000); 

// press CTRL+V 
robot.keyPress(KeyEvent.VK_CONTROL); 
robot.keyPress(VK_V); 
robot.keyRelease(VK_V); 
robot.keyRelease(KeyEvent.VK_CONTROL); 

パフォーマンス上の理由から、私はそれがドキュメントを開くのにかかるとどのくらいの時間がかかるどのくらいの時間をいただきたいですメモ帳を開く。そうすれば、あなたは貴重なミリ秒を浪費することはありません。

+0

これはとても悪いです。 – blagae

+0

#tehcnicallywhatwasaskedfor –

関連する問題