java - 使用 pdfBox 在 java 中创建尺寸为 1700pixels*2200pixels 的 pdf

标签 java pdf pdf-generation pdfbox

我有一个应用程序可以打开尺寸为 1700 像素 * 2200 像素的 pdf 文件。我将从其中获取在 pdf 上绘制的矩形的尺寸。 当我尝试在 pdf 上创建相同的矩形时, 我正在使用 PdfBox 创建带有尺寸的 pdf 页面。

System.out.println(page.getMediaBox().getHeight());
System.out.println(page.getMediaBox().getWidth());

结果:

612 
792

如何将pdf坐标从1700*2200转换为612*792?

最佳答案

你的输出

612 792

System.out.println(page.getMediaBox().getHeight()); System.out.println(page.getMediaBox().getWidth());

似乎表明您使用默认构造函数创建该PDPage,即使用new PDPage(),因为该构造函数将页面大小设置为美国信函页面格式。

如果您想要不同格式的页面,您应该使用构造函数PDPage(PDRectangle),例如:

    PDRectangle rec = new PDRectangle(1700, 2200);
    PDDocument document = new PDDocument();
    PDPage page = new PDPage(rec);
    document.addPage(page);

这将创建一个 PDF,其页面大小为 1700x2200 用户空间单位,即大约 23.6"x30.6"。

顺便说一句,您谈论的是尺寸为1700像素*2200像素的pdf文件 - PDF不知道单位“像素”。他们知道默认的用户空间单位,默认为 1/72",因此或多或少对应于单位点。这尤其不意味着分辨率。

关于java - 使用 pdfBox 在 java 中创建尺寸为 1700pixels*2200pixels 的 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24952437/

相关文章:

java - 使用 NiftyGUI 的自定义 Controller

java - 使用 Tomcat 设置本地开发环境时出现 HTTP 500 错误

java - JDK关联问题

ubuntu - 如何在 Ubuntu 终端中确定 PDF 文档的页面大小?

java - 如何使用 PDFReactor 生成不透明的 PDF?

java - 从我用随机整数创建的文件中读取并放入数组中并显示值

android - 在我的 Android 应用程序中显示 Word/PDF 文档

c# - 使用 C# 编辑 PDF 文件的元数据

使用高分辨率 SVG 图像生成 PDF(需要建议!)

php - 在浏览器中查看PDF而无需下载(类似gmail附件)