byr*_*ddy 0 java pdf pdf-generation pdfbox
我有一个应用程序,它打开一个尺寸为 1700 像素 * 2200 像素的 pdf 文件。我将从它的 pdf 上获得一个矩形的尺寸。当我尝试在 pdf 上创建相同的矩形时,我正在使用 PdfBox 创建一个具有尺寸的 pdf 页面。
System.out.println(page.getMediaBox().getHeight());
System.out.println(page.getMediaBox().getWidth());
Run Code Online (Sandbox Code Playgroud)
结果是 :
612
792
Run Code Online (Sandbox Code Playgroud)
如何将 pdf 坐标从 1700*2200 转换为 612*792?
你的输出
612 792
Run Code Online (Sandbox Code Playgroud)
的
System.out.println(page.getMediaBox().getHeight()); System.out.println(page.getMediaBox().getWidth());
Run Code Online (Sandbox Code Playgroud)
似乎表明您PDPage
使用默认构造函数创建该构造函数,即使用new PDPage()
as 该构造函数将页面大小设置为美国信函页面格式。
如果你想要不同格式的页面,你应该使用构造函数PDPage(PDRectangle)
,例如:
PDRectangle rec = new PDRectangle(1700, 2200);
PDDocument document = new PDDocument();
PDPage page = new PDPage(rec);
document.addPage(page);
Run Code Online (Sandbox Code Playgroud)
这将创建一个 PDF,其页面大小为 1700x2200 用户空间单位,即大约 23.6"x30.6"。
顺便说一句,您谈论的是尺寸为 1700pixels*2200pixels 的 pdf 文件- PDF 不知道单位“像素”。他们知道默认的用户空间单位,默认为 1/72",因此,或多或少对应于单位点。这尤其不意味着分辨率。