能用 python 的话可以直接试试我的脚本, (用 chatgpt 生成的,测试加优化差不多一刻钟,以后这类小工具的市场会进一步被挤压啊)
"""
# Install the required packages
pip install PyPDF2
# Usage:
python pdf.py --input <input_file_or_folder> --output <output_file_or_folder> --exclude <exclude_file_or_folder>
1. When `input` is a folder, merge all PDF files in the folder into one PDF file specified as `output`.
2. When `input` is a file, split the PDF file into multiple PDF files in the folder specified as `output`.
3. When `exclude` is specified, the files in the list will be excluded from the merging process.
"""
import os
import PyPDF2
import argparse
from shutil import rmtree
def merge_pdf_files(folder, output_file, exclude=None):
    """Merge all PDF files in the folder into one PDF file."""
    pdf_files = [file for file in os.listdir(folder) if file.endswith('.pdf')]
    if exclude:
        pdf_files = [file for file in pdf_files if file not in exclude]
    pdf_files.sort()
    pdf_merger = PyPDF2.PdfMerger()
    for pdf_file in pdf_files:
        pdf_path = os.path.join(folder, pdf_file)
        pdf_merger.append(pdf_path)
    with open(output_file, 'wb') as output_pdf:
        pdf_merger.write(output_pdf)
    pdf_merger.close()
    print(f'Merged {len(pdf_files)} PDF files into {output_file}')
def split_pdf_file(input_file, output_folder):
    """Split the PDF file into multiple PDF files."""
    if not os.path.exists(output_folder):
        os.mkdir(output_folder)
    pdf_file = open(input_file, 'rb')
    pdf_reader = PyPDF2.PdfFileReader(pdf_file)
    for page_num in range(pdf_reader.numPages):
        pdf_writer = PyPDF2.PdfFileWriter()
        pdf_writer.addPage(pdf_reader.getPage(page_num))
        output_filename = os.path.join(output_folder, f'page_{page_num + 1}.pdf')
        with open(output_filename, 'wb') as output_pdf:
            pdf_writer.write(output_pdf)
    pdf_file.close()
    print(f'Split {input_file} into {pdf_reader.numPages} pages in {output_folder}')
if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Merge or split PDF files.")
    parser.add_argument("--input", '-i', help="Input file or folder")
    parser.add_argument("--output", '-o', help="Output file or folder", type=str, default=None)
    parser.add_argument("--exclude", '-e', help="Exclude files", nargs='+', default=None)
    args = parser.parse_args()
    if os.path.isdir(args.input):
        if not args.output:
            args.output = 'merged.pdf'
        if args.output in os.listdir(args.input):
            os.remove(os.path.join(args.input, args.output))
        merge_pdf_files(args.input, os.path.join(args.input, args.output), args.exclude)
    elif os.path.isfile(args.input):
        if not args.output:
            args.output = 'split'
        if os.path.exists(args.output):
            rmtree(args.output)
        split_pdf_file(args.input, args.output)
--
FROM 167.220.255.*