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

如何用Python设置PDF的Binding属性?适配希伯来语双页滚动

解决方案:批量设置希伯来语PDF的右装订(Right Edge)显示属性

Python方案:使用PyMuPDF(fitz)

PyMuPDF是功能完备的PDF处理库,支持直接修改PDF的ViewerPreferences属性,刚好能满足设置装订方向和双页显示模式的需求。

步骤1:安装PyMuPDF

pip install pymupdf

步骤2:批量处理脚本

import fitz
import os

def set_hebrew_pdf_view_settings(input_folder, output_folder):
    # 创建输出文件夹(不存在则自动生成)
    os.makedirs(output_folder, exist_ok=True)
    
    for filename in os.listdir(input_folder):
        if filename.lower().endswith('.pdf'):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)
            
            # 打开目标PDF
            doc = fitz.open(input_path)
            
            # 设置视图偏好:右装订 + 双页从右起始显示
            doc.set_metadata({
                "ViewerPreferences": {
                    "Binding": 1,  # 1对应Right Edge,0对应Left Edge
                    "PageLayout": "/TwoPageRight"
                }
            })
            
            # 保存修改后的文件并关闭
            doc.save(output_path)
            doc.close()
            print(f"处理完成:{filename}")

# 示例调用,替换为你的实际路径
input_dir = "你的输入文件夹路径"
output_dir = "你的输出文件夹路径"
set_hebrew_pdf_view_settings(input_dir, output_dir)
  • Binding=1对应Adobe Acrobat中手动设置的"Right Edge",确保页面从右到左双页展示
  • PageLayout="/TwoPageRight"将默认视图设为双页滚动,且第一页单独显示在右侧,契合希伯来语阅读习惯

非Python方案

1. 使用qpdf命令行工具

qpdf是轻量高效的PDF处理工具,支持直接通过命令行设置视图偏好:

安装qpdf

  • macOS:通过Homebrew安装 brew install qpdf
  • Debian/Ubuntu:sudo apt install qpdf
  • Windows:从qpdf官方下载安装包

批量处理命令(Linux/macOS示例)

# 创建输出文件夹
mkdir -p output_folder
# 遍历输入文件夹所有PDF并处理
for file in input_folder/*.pdf; do
    qpdf --set-viewer-preferences "Binding=RightEdge,PageLayout=TwoPageRight" "$file" "output_folder/$(basename "$file")"
done

2. Adobe Acrobat Pro批处理脚本

如果你已安装Adobe Acrobat Pro,可通过JavaScript脚本实现批量处理:

  1. 打开Acrobat Pro,点击工具 > 动作向导 > 创建新动作
  2. 添加执行JavaScript步骤,输入以下脚本:
var doc = app.activeDocs[0];
doc.viewerPreferences.binding = 1; // 设置为Right Edge
doc.viewerPreferences.pageLayout = "TwoPageRight";
// 保存为新文件,避免覆盖原文件
doc.saveAs(doc.path.replace(".pdf", "_modified.pdf"));
  1. 设置动作的目标文件夹,运行即可批量处理所有PDF文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 10:13:17