jack2468 发表于 2024-11-19 16:47

求可以批量删除PDF中页眉页脚的软件

求可以批量删除PDF中页眉页脚的软件。
论坛里有个软件:officeTools工具集。
可以批量添加页眉,却没有批量删除页眉的功能。

aimy1024227 发表于 2024-11-19 16:47

测试了一下 这个可以import PyPDF2
import os

def remove_header_footer(input_pdf_path, output_pdf_path):
    with open(input_pdf_path, 'rb') as file:
      reader = PyPDF2.PdfReader(file)
      writer = PyPDF2.PdfWriter()
      
      for page in reader.pages:
            # 仔细调整裁剪框的参数,以去除页眉和页脚
            original_mediabox = page.mediabox
            # 这里将页眉和页脚分别设置为50单位,可以根据需要调整
            page.cropbox.lower_left = (original_mediabox.lower_left, original_mediabox.lower_left + 50)# 设置下边界
            page.cropbox.upper_right = (original_mediabox.upper_right, original_mediabox.upper_right - 50)# 设置上边界

            writer.add_page(page)# 将处理后的页面添加到新的PDF中
      
      with open(output_pdf_path, 'wb') as output_file:
            writer.write(output_file)

# 批量处理指定目录下的PDF文件
def batch_process_pdfs(input_directory, output_directory):
    if not os.path.exists(output_directory):
      os.makedirs(output_directory)

    for filename in os.listdir(input_directory):
      if filename.endswith('.pdf'):
            input_path = os.path.join(input_directory, filename)
            output_path = os.path.join(output_directory, filename)
            remove_header_footer(input_path, output_path)
            print(f"Processed {filename}")

# 输入输出目录
input_directory = 'D:/222/input/directory'# 替换为您的输入目录
output_directory = 'D:/222/output/directory'# 替换为您的输出目录

# 执行批量处理
batch_process_pdfs(input_directory, output_directory)

aimy1024227 发表于 2024-11-19 17:36

试试Python

import PyPDF2
import os

def remove_header_footer(input_pdf_path, output_pdf_path):
    with open(input_pdf_path, 'rb') as file:
      reader = PyPDF2.PdfReader(file)
      writer = PyPDF2.PdfWriter()
      
      for page in reader.pages:
            # 只保留页面的中间区域,假设页眉和页脚在特定的区域
            # 这里的坐标需要根据具体的PDF进行调整
            page.crop_box.lower_left = (0, 50)# 设置下边界
            page.crop_box.upper_right = (page.mediabox.width, page.mediabox.height - 50)# 设置上边界

            writer.add_page(page)
      
      with open(output_pdf_path, 'wb') as output_file:
            writer.write(output_file)

# 批量处理指定目录下的PDF文件
def batch_process_pdfs(input_directory, output_directory):
    if not os.path.exists(output_directory):
      os.makedirs(output_directory)

    for filename in os.listdir(input_directory):
      if filename.endswith('.pdf'):
            input_path = os.path.join(input_directory, filename)
            output_path = os.path.join(output_directory, filename)
            remove_header_footer(input_path, output_path)
            print(f"Processed {filename}")

# 输入输出目录
input_directory = 'path/to/input/directory'# 替换为您的输入目录
output_directory = 'path/to/output/directory'# 替换为您的输出目录

# 执行批量处理
batch_process_pdfs(input_directory, output_directory)

leaf876 发表于 2024-11-19 20:06

aimy1024227 发表于 2024-11-19 17:47
测试了一下 这个可以import PyPDF2
import os



这个python脚本怎么用

jokerswift 发表于 2024-11-20 08:32


福昕风腾PDF套件金山版_v6.0.6.715_WPS2013永久授权
https://wwcz.lanzout.com/i4dmA2fkvmpg

点击【页面管理】>点击【页眉页脚】>点击【移除】

td9527td 发表于 2024-11-20 09:11

https://www.pdfgear.com/zh/
这个PDFgear继承了很多功能,你可以试试

jack2468 发表于 2024-11-20 09:23

jokerswift 发表于 2024-11-20 08:32
福昕风腾PDF套件金山版_v6.0.6.715_WPS2013永久授权
https://wwcz.lanzout.com/i4dmA2fkvmpg



这个只能删除单个文件的,不能批量处理多文件的

aimy1024227 发表于 2024-11-20 09:38

leaf876 发表于 2024-11-19 20:06
这个python脚本怎么用

论坛上搜索一下

aimy1024227 发表于 2024-11-20 10:10

leaf876 发表于 2024-11-19 20:06
这个python脚本怎么用

第一次打包 我试了OK 你试试
https://wwzk.lanzouo.com/b00wm4miza
密码:hiv6
页: [1]
查看完整版本: 求可以批量删除PDF中页眉页脚的软件