You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Adobe Acrobat Reader中设置按PDF页面尺寸选纸张源及Python实现

解决方法:通过Python设置PDF的纸张源自动匹配选项

Adobe Reader中的“Choose paper source by PDF page size”选项,对应PDF规范里ViewerPreferences字典中的PickTrayByPDFSize布尔键。将该键设为True后,PDF文档会告诉Reader自动根据页面尺寸选择纸张源,无需手动勾选。

符合MIT/BSD协议的Python库中,pypdfium2(BSD协议)可以实现这个功能,它是Google PDFium的Python绑定,能直接操作PDF的底层字典结构。以下是具体实现代码:

import pypdfium2 as pdfium

# 打开目标PDF
pdf = pdfium.PdfDocument("your_input.pdf")

# 获取文档根目录字典
catalog = pdf.get_root_dict()

# 获取或创建ViewerPreferences字典
viewer_prefs = catalog.get("ViewerPreferences")
if not viewer_prefs:
    viewer_prefs = pdfium.PdfDict(pdf)
    catalog.set("ViewerPreferences", viewer_prefs)

# 设置PickTrayByPDFSize为True,开启自动选纸源
viewer_prefs.set_bool("PickTrayByPDFSize", True)

# 保存修改后的PDF
pdf.save("your_output.pdf")
pdf.close()

说明

  • 这个设置是嵌入在PDF文档本身的元数据中的,优先级高于Adobe Reader的全局偏好设置,打开修改后的PDF时会自动启用该选项。
  • 你之前尝试pypdfium2未成功,大概率是没找到PickTrayByPDFSize这个具体的字典键,直接操作底层字典就能解决问题。

内容的提问来源于stack exchange,提问作者Shmack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:52:10