2009-08-21 10 views
5

私は現在、会社の内部レポートデータベースと対話するために、MATLABコードを書いています。しかし、報告書のPDFがあり、私は変数sで終わるHTMLテキストから情報の様々なビットを抽出することができますMATLABからJavaScriptコマンドを実行してPDFファイルを取得する

import com.mathworks.mde.desk.*; 
wb=com.mathworks.mde.webbrowser.WebBrowser.createBrowser; 
wb.setCurrentLocation(ReportURL(8:end)); 
pause(1); 

s={}; 
while isempty(s) 
    s=char(wb.getHtmlText); 
    pause(.1); 
end 
desk=MLDesktop.getInstance; 
desk.removeClient(wb); 

:これまでのところ私はこのようなコードを使用してHTML抽象ページにアクセスすることができますJavaScriptコマンド(onClick = "gotoFulltext( ''、[Report Number] ')")を使用してアクセスします。

私はこのJavaScriptコマンドをどのように実行し、PDFファイルの内容をMATLAB変数に変換するかについてのアイデアはありますか?

(... MATLABは、Javaの上に座って、私はJavaソリューションがうまくいくと信じて)

答えて

4

私はあなたが呼び出されているJavaScriptのを見て、に何を最終的要求が表示されるはずだと思いますウェブサーバーは次のように見えます。

FireBugプラグインを使用してFirefoxでこれを非常に簡単に行うことができます。

https://addons.mozilla.org/en-US/firefox/addon/1843

あなたは、あなたはこのURLにこのURLまたはポストを要求する代わりに、JavaScriptを実行しようとすることができ、実際のサーバ要求を見つけたら。

+2

PJPのが唯一の賢明なアプローチです。 – NickFitz

+0

これは非常に有望なルートに見えます。私は今、私にPDFを取得するURLを持っています。 - 私が今必要とするのは、それを変数に取り込む方法です。 Firebugはかなり便利です! –

+0

はい、かなりいいですね。 – pjp

1

正しいURL(la the answer from pjp)を取得したら、次の問題は「PDFファイルの内容をMATLAB変数に取り込む」ことです。あなたはPDFファイルで生データを取得したい場合はこれが可能であるかどうかは


...あなたは「内容」によって何を意味するかに依存するかもしれない、私は方法があるとは思いませんMATLABでこれを行うようになっています。 URLREAD機能は、私は文字列にURLからコンテンツを読み込むと思った最初のものだったが、それはマニュアルにこのノートを持っています

s = urlread('url')は、文字列sへのURLのコンテンツ を読み込みます。 サーバーがバイナリデータを返す場合、sは になります。あなたは、次の例のように、PDFを読んしようとした場合

実際、sはほとんどゴミと混ざり、いくつかのテキストが含まれています:あなたがからテキストを取得したい場合は

s = urlread('http://samplepdf.com/sample.pdf'); 

PDFファイルには、いくつかのオプションがあります。まず、あなたは、ファイルへのURLの内容を保存するためにURLWRITEを使用することができます。

urlwrite('http://samplepdf.com/sample.pdf','temp.pdf'); 

その後、あなたはPDFからテキストを抽出するためにThe MathWorks File Exchange上の2つの提出のいずれかを使用することができるはずです。

によってDimitri Shvorob

  • PDF Readerによって
  • Extract text from a PDF documentあなたの場合は、単にたいPDFビューに、あなただけのOPEN機能には、Adobe Acrobatで開くことができます:

    open('temp.pdf'); 
    
  • +0

    現時点では、URLにはコンテンツにアクセスするための認証が必要なので、urlreadを使ってURLを提供する方法を考えることができません。私は、Java URLオブジェクトを使用するルートがあると考えています。 上記のwebbrowserメソッドを使用すると、スクリーン上のpdfドキュメントを見ることができます。これは、私が望むものにぎこちないほどです。 PDF関数のテキストは役に立ちます。 –

    +0

    'URLREAD'と' URLWRITE'関数はオプションのパラメータを渡すことができます。認証のためにパラメータ名が何であるかを調べ、パラメータ値をセル配列として渡す必要があります。このドキュメントのページに例が掲載されています。http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/f5-136137.html#f5-136158 – gnovice

    +0

    PDFファイルをテキストに変換するためのDimitri Shvorobのソリューションはうまく動作します –

    1
    wb=com.mathworks.mde.webbrowser.WebBrowser.createBrowser; 
    wb.executeScript('javascript:alert(''Some code from a link'')'); 
    desk=com.mathworks.mde.desk.MLDesktop.getInstance; 
    desk.removeClient(wb); 
    
    関連する問題