gpt4 book ai didi

pdf - 更改 PDF 坐标系

转载 作者:行者123 更新时间:2023-12-01 00:46:58 26 4
gpt4 key购买 nike

我想更改 PDF 坐标系以更改原点 (0,0) -> 从左下角到左上角。因此,例如,当我在 x=5 y=10 的位置书写文本时,它将以从左数起 10 点和从上数(而不是从下数)开始的 10 点书写。

我已阅读 PDF specification它谈到了 CropBox、旋转、坐标变换('cm' 运算符)......但我无法做到。

笔记。在 eps 中,我使用平移和缩放做类似的事情:

% Rescaling and translate
0 95<-(height of the page) translate
1 -1 scale

任何帮助将不胜感激!

最佳答案

PDF 不是 PostScript 之类的编程语言,但与示例中完全相同的原则也适用于此处。您将设置一个转换矩阵,而不是通过不同的 PostScript 调用(“translate”和“scale”)

1 0 0 -1 0 95 cm

这会导致 X 轴保持不变,Y 轴反转并且坐标系的原点移动,因此与您的 EPS 示例中发生的情况完全相同。

您可以在页面开头更改转换矩阵,也可以更改每个单独元素或元素组的转换矩阵。

请记住,“cm”运算符始终与现有转换矩阵连接,它不会设置它。实际上没有办法设置矩阵。

因此,在几乎所有 PDF 文件中,您都会发现类似的结构
q
1 0 0 -1 0 95 cm
...
Q

这将保存当前的图形状态;更改矩阵,然后执行您想要的任何操作,最后将矩阵替换为原始值。

此外,正如 Jongware 和 mkl 在评论中所述;如果像这样翻转坐标系,很可能还需要翻转其他矩阵,例如文本转换矩阵,以确保绘制的对象正面朝上。

关于pdf - 更改 PDF 坐标系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33649952/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com