如何使用PDFBox查找pdf页面的宽度和高度(单位:mm)?目前,我正在使用:
System.out.println(page.getMediaBox().getHeight());
System.out.println(page.getMediaBox().getWidth());
但结果是(不是mm):
842.0
595.22
如果文档是使用不同于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文档的大小调整为:
等等像A4这样的FWIW文档格式是通过它们的打印尺寸(毫米)来描述的,这与屏幕图像(像素)是完全不同的,所以你看不到任何人用像素来描述A4对
DTP点的坐标定义为:1 pt=1/72 in=25.4/72 mm
你可以这样写一个方法:
public float pt2mm(float pt) {
return pt * 25.4f / 72;
}
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页。 如果比较两种情况,可以知道页面大小与页