【问题标题】:Set User Units when generating a PDF生成 PDF 时设置用户单位
【发布时间】:2016-02-21 07:15:31
【问题描述】:

我需要更改生成的 pdf 文件中的默认用户单位。这是一个显示的最小示例,但没有正确的文档大小。

%PDF-1.7
1 0 obj
<< /Type /Catalog
/Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages
/Kids [ 3 0 R ]
/Count 1 >>
endobj
3 0 obj
<< /Type /Page
/Parent 2 0 R
/UserUnit 2.83
/MediaBox [0 0 2440 1220]
/Contents 4 0 R >>
endobj
4 0 obj
<< /Length 44 >>
stream
0.3 0.5 0.2 0.1 k
100 100 400 400 re
f
endstream
endobj
xref
0 5
0000000000 65535 f
0000000009 00000 n
0000000058 00000 n
0000000117 00000 n
0000000221 00000 n
trailer
<< /Size 5
/Root 1 0 R >>
startxref
309
%%EOF

如果您在 PDF 查看器中打开此文件,就好像 UserUnit 默认值没有更改。

我需要让用户单位尽可能接近毫米。此文件中的图形将打印到板上,然后用 CNC 机器切割,因此打印需要一定程度的准确性。

如何正确设置 UserUnit 值?

【问题讨论】:

  • 你用哪个 pdf 查看器测试过?
  • 预览 8.0 和 Inkscape。
  • 我也没有相关经验。你试过好用的 Adob​​e Reader 吗?
  • 除了我的回答之外,我还有一个问题......你为什么不简单地使用默认用户空间并将正确的值放在那里?您正在通过使用用户单位值在等式中引入额外级别的计算和四舍五入...
  • 我认为更改 UserUnit 会更容易添加几何图形,即不必更改坐标。我明白你所说的四舍五入是什么意思。也许我会尝试一个转换矩阵。

标签: pdf pdf-generation


【解决方案1】:

永远不要假设 Apple Preview 对 PDF 文件的处理是正确的。

如果您在 Adob​​e Acrobat 中打开此页面,报告的页面大小为 2436 x 1218 毫米,我认为这与您的 UserUnit 值相符。

该框看起来与预览中显示的大小成比例,因此我将假设一个也正确绘制。

【讨论】:

  • 真的吗?我想我应该得到 Acrobat。
  • 我绝对会推荐使用 Adob​​e Acrobat 或 Adob​​e Reader(或其他已知可以正确处理 PDF 文件的查看器)。 Adobe Reader 是免费的应该是一个显而易见的选择...
  • ...但 Acrobat 在 Linux 上不可用...
  • ...但是这个主题是关于 macOS 的,所以 Linux 不是一个大问题。我对 Linux 桌面操作不是很熟悉,所以恐怕无法提供替代方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多