当前位置: 首页 > 知识库问答 >
问题:

PDFBox-查找页面维度

茅星华
2023-03-14

如何使用PDFBox查找pdf页面的宽度和高度(单位:mm)?目前,我正在使用:

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

但结果是(不是mm):

842.0
595.22

共有3个答案

茅秦斩
2023-03-14

如果文档是使用不同于72的DPI创建的,则使用更通用的公式:

public float pt2mmForWeb72dpi(float pt) {
   return pt2mm(pt,72);
}
public float pt2mmForPrint300dpi(float pt) {
   return pt2mm(pt,300);
}
public float pt2mmForPrint600dpi(float pt) {
   return pt2mm(pt,600);
}
public float pt2mm(float pt, float dpi) {
   return pt * 25.4f / dpi;
}

你可以在https://forums.indigorose.com/forum/indigo-rose-software/developer-s-den/13282-what-is-the-size-of-a4-in-px找到更多

A4是一种文档格式,作为屏幕图像,取决于图像分辨率,例如,A4文档的大小调整为:

  • 72 dpi(网络)=595 X 842像素
  • 300 dpi(打印)=2480 X 3508像素(据我所知,这是“A4”,即“210mm X 297mm@300 dpi”)
  • 600 dpi(打印)=4960 X 7016像素

等等像A4这样的FWIW文档格式是通过它们的打印尺寸(毫米)来描述的,这与屏幕图像(像素)是完全不同的,所以你看不到任何人用像素来描述A4对

漆雕伟志
2023-03-14

DTP点的坐标定义为:1 pt=1/72 in=25.4/72 mm

你可以这样写一个方法

public float pt2mm(float pt) {
   return pt * 25.4f / 72;
}
夏弘义
2023-03-14

PDF中的测量单位是点,这是传统的图形行业测量单位。Adobe使用以下定义:

1 pt = 1/72 inch

由于1英寸的定义正好是25.4毫米(真的!),可以使用公式将点转换为mm

mm = pt*25.4 / 72

顺便说一下,你的值(松散地)翻译成A4纸尺寸210 x 297毫米。(“松散”,有两个原因。第一:在公制中,ax尺寸来自1平方米。在英制中,点是基于(根据Adobe的用法)的;因此,点和毫米之间的所有转换都是近似值。第二:A4的给定值以毫米为单位也是四舍五入的。(

在对象流中,测量单位可以缩放为其他单位。以上仅适用于顶级基础对象。

 类似资料:
  • 问题内容: 如何使用PDFBox查找(以毫米为单位)pdf页面的宽度和高度?目前,我正在使用此: 但结果是(不是毫米): 问题答案: PDF内的度量单位是磅,这是传统的图形行业度量单位。Adobe使用以下定义: 并且由于将一英寸定义为正好是25.4毫米(真的!),因此您可以使用以下公式将点数转换为毫米 顺便说一下,您的值将(宽松地)转换为A4纸张尺寸210 x 297毫米。(“松散”的原因有两个:

  • 主要内容:从现有文档中删除页面,示例现在让我们学习如何从PDF文档中移除页面。 从现有文档中删除页面 使用类的方法从现有的PDF文档中移除页面。 第1步:加载现有的PDF文档 使用类的静态方法加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态方法,可以使用类名称调用它,如下所示。 第2步:列出页数 使用方法列出PDF文档中存在的页面数量,如下所示。 第3步:删除页面 使用类的方法从PDF文档中移除页面。 对于此

  • 主要内容:将页面添加到PDF文档,示例在前一章中,我们已经学习了如何创建PDF文档。 创建PDF文档后,我们需要添加页面。 现在来了解如何在PDF文档中添加页面。 将页面添加到PDF文档 可以通过实例化类并使用类的方法将其添加到PDF文档来创建空白页面。 以下是创建一个空文档并向其中添加页面的步骤。 第1步:创建空白文档 通过实例化类创建一个空的PDF文档,如下所示。 第2步:创建一个空白页面 类表示PDF文档中的一个页面,因此可以通

  • 我有以下代码 如果在第三行我只画了一些东西,那么一切都很好。然而,如果我画了很多东西,那么我会得到: 以上代码在95%的情况下都能正常工作,只有当页面真正满了时才会出现问题。 如果在第2行。 那么它工作得很好。但目标是使用pdf模板。

  • 我们已经看到,较大的页表会导致额外的开销,因为必须将该表分成页面,然后将其存储到主内存中。 我们担心的是执行进程而不是执行页表。 页表为执行过程提供了支持。 页面越大,开销越高。 例如,我们知道 - 将会有100万页这是相当大的数字。 但是,尝试使页面大小更大,例如:2MB。 然后,页表中的页数=(2 X 2 ^ 30)/(2 X 2 ^ 20)= 1K页。 如果比较两种情况,可以知道页面大小与页