我正在用Java创建一个文本编辑器,它将输出到PDF。为了尽可能接近地同步我的程序中出现的数据和输出PDF,我必须有一个与A4纸相同尺寸的JPanel(或者至少是规模)。我已经尝试将其mm尺寸(297x210)转换为像素,但在PDF中打开常规尺寸的A4文档会产生比我的JPanel更大的页面。
某些像素大小是否与A4尺寸(以100%显示)创建的每个文档(.doc,.pdf等)的大小相匹配,或者程序之间是否存在差异?
我正在尝试理解整个转换协议......我是否必须在视觉上匹配Adobe阅读器的大小,或者是否有某种因素与页面大小以英寸或毫米为单位?有没有人知道整个页面大小格式交易是如何工作的?
答案 0 :(得分:3)
根据我的经验,没有打印机标准这样的东西。 Adobe Acrobat Reader等打印机或软件的行为差别很大。有些可能会自动缩小A4大小的面板以适合带有边距的单页,而其他可能会打印4页,第2页上有一个像素列,第3页上有一个像素行。
不幸的是,你必须通过反复试验来解决这个问题。使其适用于Acrobat Reader,然后尝试将其打印出来并查看它是否相同。它有助于提供有关如何格式化页面的任何和所有提示。由于缺乏这些提示,很多软件都会猜测你的意图是什么。
答案 1 :(得分:3)
查看2D Graphics tutorial并Graphics
将BufferedImage
带到Swing GUI
,因为1pixes == 1 DPI
的直接输出会创建{{1}}
有
答案 2 :(得分:2)
根据我的经验,所有可打印尺寸均使用72像素= 1英寸的测量值。可能存在差异,因为默认赢得DPI = 96。