如何查看PDF的坐标

有时候,我们明知道现状并不够科学、不够合理,但没有时间和条件去改变现状,还得硬要照着这种方式去维护,很是痛苦。

在程序生成文字报告通常使用docx,如果需要更通用、更灵活,还可以使用rtf,而前期设计偏偏是PDF,利用PDF坐标来实现定位,很是麻烦。在Adobe PDF可以这样查看坐标:

首先打开"光标坐标":

默认显示的是厘米,需要在首选项中改成点:

显示的坐标效果如下:

转载于:https://www.cnblogs.com/liweis/p/11584624.html

### PDF 文件坐标系统的操作方法 #### 获取当前页面尺寸 为了在PDF文档中执行任何基于坐标的绘图或文本放置操作,了解页面的具体尺寸至关重要。通常情况下,可以利用库函数读取页面大小并将其转换为应用程序所需的单位。 对于Python编程语言而言,`PyMuPDF`是一个处理PDF文件的强大工具包。下面展示如何通过此库获取给定页码对应的宽度和高度: ```python import fitz # PyMuPDF 的导入方式 doc = fitz.open("example.pdf") page = doc.load_page(0) # 加载第一页 rect = page.rect # 获得矩形区域对象 width_in_points = rect.width # 宽度 (以点数表示) height_in_points = rect.height # 高度 (以点数表示) print(f"Page size is {width_in_points} by {height_in_points}") ``` 上述代码片段展示了怎样打开一个名为 `example.pdf` 的文件,并打印出其首页的宽高信息[^1]。 #### 将PDF坐标转换单位 由于PDF内部使用的默认测量单位是磅(point),而在实际应用开发过程中可能更倾向于使用其他常见单位如毫米(mm)或者像素(pixel),因此有必要实现不同单位间的相互转换功能。 考虑到屏幕分辨率差异,在计算时还需要考虑DPI(每英寸点数)。假设已知目标显示器上的逻辑DPI值,则可按照如下方式进行换算: - **从磅到像素**: 使用公式 `pixels = points * DPI / 72` - **从像素回到磅**: 反向运算即 `points = pixels * 72 / DPI` 具体实现例子可以在Windows平台上借助API调用来完成,比如之前提到过的`GetDeviceCaps()` 函数用于查询设备的能力参数。 #### 插入新内容至指定位置 当需要在一个现有的PDF文档里添加新的图形元素或是文字说明时,就需要精确控制这些新增部分的位置属性。这同样依赖于对PDF坐标体系的理解以及合理运用相应的编辑器命令集。 例如,如果想在某一页特定区域内绘制一条直线段,那么应该先定义好起点(x₁,y₁) 和终点(x₂,y₂): ```python from math import sqrt def draw_line(page, start_point=(50, 80), end_point=(90, 120)): line_length = sqrt((end_point[0]-start_point[0])**2 + (end_point[1]-start_point[1])**2) annot = page.add_line_annot(start_point, end_point) annot.set_colors(stroke=[0, 0, 0]) # 设置线条颜色为黑色 annot.update() draw_line(page) ``` 这段脚本会在所选页面上画出一条连接两个固定端点之间的线段,并设置该线的颜色样式.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值