2011-02-09 14 views
2

Mojarra、PrimeFaces、Tomcat 6.xを使用してJSF 2.0プロジェクトに取り組んでいますが、前者にはApache HTTPサーバーがあります。iTextの外部URLリソースへのアクセス

私はマージするPDFファイルを選択できるウェブフォームを作成しました。これらのファイルは、Apache HTTPDの制御下のディレクトリにある私のWARの外部にあります。 iText 2.1.7を使ってPDFファイルをマージします。

PdfReader reader1 = new PdfReader(new URL("file:///appli/Vignette/vcm/inst-vgninst/docroot_CDC" + file)); 

しかし、私はHTTPでそれらにアクセスしたい:

PdfReader reader1 = new PdfReader(new URL("http://centos" + file)); 
  • CentOSのは、私のサーバーの名前で、次のように私は、ファイルにアクセスしてる瞬間

    Webアプリケーションがデプロイされます。

  • ファイル "/folder/folder1/file.pdf"

これが失敗したような文字列変数を見ています。しかし、URL http://centos/folder/folder1/file.pdfは、通常のウェブブラウザからアクセスできます。

何が問題なのですが、どうすれば解決できますか?

答えて

4

PdfReaderは、外部リソースを指すURLで直接動作することはできません。 FileまたはFileInputStreamではなくURLで作業するつもりなら、URL#openStream()を使用してInputStreamPdfReaderに返すことをお勧めします。それはまた、constructorもあります。

PdfReader reader1 = new PdfReader(new URL("http://centos" + file).openStream()); 
1

まず、Webドライバを通じてそのリソースを初期化します。詳細については、下記のコードを参照してください。

WebDriver ie_driver = BrowserFactory.startBrowser("ie","https://www.tutorialspoint.com/sql/pdf/index.pdf"); 
ie_driver.manage().window().maximize(); 
PdfReader reader = new PdfReader(new URL("https://www.tutorialspoint.com/sql/pdf/index.pdf").openStream()); 
System.out.println("This PDF has "+reader.getNumberOfPages()+" pages."); 
String page = PdfTextExtractor.getTextFromPage(reader, 1); 
System.out.println("Page Content:\n\n"+page+"\n\n"); 
System.out.println("Is this document tampered: "+reader.isTampered()); 
System.out.println("Is this document encrypted: "+reader.isEncrypted()); 
+0

OPは、彼が自分のサーバーを稼働しているOSについて直接何も言及しておらず、その名前もLinuxの方向性を示唆しています。したがって、 '' WebDriver''を '' ''のために初期化すべきなのは何ですか? – mkl

関連する問題