2016-07-10 13 views
0

私は安らかなWebサービスを書いています。これはPDFファイルを返します。このPDFはブラウザのIFrameに表示されます。 この部分はうまくいきます。javaのpdfレスポンスのデフォルトズーム値を設定する方法

しかし、私が問題に直面していることは、PDFファイルが選択されたズーム・バリュー '自動ズーム'でブラウザに表示されていますが、ズーム値 'ページ幅'を選択してこのPDFを表示したかったのです。 PDFを返す下記の方法をご覧ください。私はズーム値に固有のヘッダー値を提供することで、ズーム値でPDFを返すだろうと思い

/** 
* @param file 
* @return Response object. 
*/ 
private Response processRequest(final String filePath) 
{ 

    File file = new File(filePath); 

    PDPageFitDestination dest = new PDPageFitDestination(); 
    PDActionGoTo action = new PDActionGoTo();  
    action.setDestination(dest); 

    ByteArrayOutputStream output = new ByteArrayOutputStream(); 

    PDDocument pd=null; 
    try 
    { 
    pd = PDDocument.load(file); 
    pd.getDocumentCatalog().setOpenAction(action); 
    pd.save(output); 
    } 
    catch(IOException e) 
    { 
    e.printStackTrace(); 
    } 
    catch(COSVisitorException e) 
    { 
    e.printStackTrace(); 
    } 

    //ResponseBuilder responseBuilder = Response.ok((Object)file); 

    ResponseBuilder responseBuilder = Response.ok(output.toByteArray()); 
    responseBuilder.header("Content-Type", "application/pdf; filename=return.pdf"); 
    responseBuilder.header("Content-Disposition", "inline"); 
    return responseBuilder.build(); 
    } 

「ページ幅」は、それに関連したヘッダ得ていません。 この点についてご意見をお寄せください。

+0

どのブラウザ/ PDFビューアでテストしていますか?すべてのブラウザ/ PDFビューアで特定のズームレベルにPDFを開くことはできません。 Adobe Acrobatは、「オープンアクション」を使用してこれを実現します。 –

+0

@BrandonHaugenご質問ありがとうございます。現在、私は "Mozilla Firefox 24"に取り組んでおり、PDFを開くために "Adobe Acrobat Reader 11"を使用しています。 –

+0

@BrandonHaugen私はあなたの提案に基づいて実装しましたが、pdfはデフォルトのズーム値としてPage WidthではなくAutomatic Zoomで開きます。これについてのアイデアは? –

答えて

0

私は私の問題を解決しました。ちょうど私は、リクエストURLにpdfの特定のパラメータを使用する必要がありました。詳細はPDFOpenParameters

関連する問題