[英]on jasperserver domain level change 2999-12-31 to display as null / no date
[英]How to change adobe readers zoom level?
我有一個 Jasper 報告,它在 Java Spring 中創建了一個 PDF。 我一直在嘗試更改縮放級別數小時但沒有成功。 每當我使用 Adobe 閱讀器打開 pdf 時,它的 149%(同事更糟)。 有一個類似的問題沒有幫助。
我嘗試了以下屬性名稱,但沒有一個有效
我嘗試過的價值觀是
我檢查了我的 Adobe Reader 屬性並將縮放設置為默認值,並且可訪問性也已關閉。
正如Villat在評論中指出的那樣,設置縮放級別的一種方法是“ this.zoom=50;
”
您可以通過在 jrxml 中指定它來執行此操作
<property name="net.sf.jasperreports.export.pdf.javascript" value="this.zoom=50;"/>
或者
如果從 java 導出,則將其設置為SimplePdfExporterConfiguration
....
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
configuration.setPdfJavaScript("this.zoom=50;");
exporter.setConfiguration(configuration);
由讀者(用於打開 pdf 的應用程序)決定它是否會/可以執行 javascript。
例如,在標准 Adobe Acrobat Reader DC 中,用戶可以在菜單 Edit>>Preferences 下手動關閉此功能
此外,如果閱讀器已經打開,它似乎並不總是喜歡通過 javascript 更改縮放級別,我安裝的閱讀器只有在使用 pdf 打開時才能正常工作。
If you are exporting in java you can post elaborate the pdf adding a OpenAction, see Bruno Lowagie 's answer https://stackoverflow.com/a/24095098/5292302
public void manipulatePdf(String src, String dest) throws IOException, DocumentException { PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); PdfDestination pdfDest = new PdfDestination(PdfDestination.XYZ, 0, reader.getPageSize(1).getHeight(), 0.75f); PdfAction action = PdfAction.gotoLocalPage(1, pdfDest, stamper.getWriter()); stamper.getWriter().setOpenAction(action); stamper.close(); reader.close(); }
因此,一旦導出,您調用類似的方法,如果 memory 允許它,您也可以在 memory 中使用ByteArrayOutputStream
或類似方法執行此操作。
該解決方案更可靠,但最終是否受到尊重始終取決於用戶正在使用的讀者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.