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();
}
「ページ幅」は、それに関連したヘッダ得ていません。 この点についてご意見をお寄せください。
どのブラウザ/ PDFビューアでテストしていますか?すべてのブラウザ/ PDFビューアで特定のズームレベルにPDFを開くことはできません。 Adobe Acrobatは、「オープンアクション」を使用してこれを実現します。 –
@BrandonHaugenご質問ありがとうございます。現在、私は "Mozilla Firefox 24"に取り組んでおり、PDFを開くために "Adobe Acrobat Reader 11"を使用しています。 –
@BrandonHaugen私はあなたの提案に基づいて実装しましたが、pdfはデフォルトのズーム値としてPage WidthではなくAutomatic Zoomで開きます。これについてのアイデアは? –