gpt4 book ai didi

pdfbox - 如何在 Apache PDfBox 中设置页面缩放选项

转载 作者:行者123 更新时间:2023-12-04 04:58:38 26 4
gpt4 key购买 nike

在我的应用程序中,我使用 Apache PDFBox 来呈现 PDF 文件并进行静音打印。

PDFBox 可以很好地渲染 PFD,但我遇到了问题 缩放 来到图片。
在这里我想在打印 PDF 之前设置页面缩放。

在 acrobat Reader 的打印弹出窗口中,有四个打印 PDF 的选项。
1>适合
2> 实际尺寸
3> 缩小过大的页面
4> 自定义比例

在这里我想将页面缩放设置为实际大小。我怎样才能使用 Apache POI 做到这一点?

最佳答案

我有同样的问题,我觉得做这件简单的事情太难了。尽管它并不理想,但我最终还是选择了以下方式——甚至不使用 PDFBox 打印。

以下代码将页面一次一张地转换为图像,并使用 java2d 调整大小并打印出来。

PDDocument pdfdoc = PDDocument.load(pdfPane.pdfFile);
@SuppressWarnings("unchecked")
final List<PDPage> pdfPages = pdfdoc.getDocumentCatalog().getAllPages();

PrinterJob pjob = PrinterJob.getPrinterJob();
pjob.setJobName(pdfPane.pdfFile.getName());
pjob.setPrintable(new Printable()
{
@Override
public int print( Graphics g, PageFormat pf, int page ) throws PrinterException
{
if (page > pdfPages.size())
return NO_SUCH_PAGE;
try
{
g.drawImage(pdfPages.get(page).convertToImage()
,(int)pf.getImageableX()
,(int)pf.getImageableY()
,(int)pf.getImageableWidth()
,(int)pf.getImageableHeight()
,null);
}
catch (IOException e)
{
LoggerUtil.error(e);
}
return PAGE_EXISTS;
}
});
pjob.print();
pdfdoc.close();

关于pdfbox - 如何在 Apache PDfBox 中设置页面缩放选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16437622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com