设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间01 现在时间01 缓存数据 当你走完一段之后回头看,你会发现,那些真正能被记得的事真的是没有多少,真正无法忘记的人屈指可数,真正有趣的日子不过是那么一些,而真正需要害怕的也是寥寥无几。

当你走完一段之后回头看,你会发现,那些真正能被记得的事真的是没有多少,真正无法忘记的人屈指可数,真正有趣的日子不过是那么一些,而真正需要害怕的也是寥寥无几。

查看: 950|回复: 1

Linux下合并多个PDF文件为一个PDF文件的方法汇总

[复制链接]

  离线 

TA的专栏

  • 打卡等级:即来则安
  • 打卡总天数:17
  • 打卡月天数:0
  • 打卡总奖励:209
  • 最近打卡:2025-11-27 19:18:56
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
39
主题
31
精华
0
金钱
328
积分
82
注册时间
2023-8-13
最后登录
2025-11-27

发表于 2025-8-29 07:59:45 | 显示全部楼层 |阅读模式
Linux 下合并多个 PDF 文件为一个 PDF 文件的方法


技术背景

在 Linux 系统中,有时需要将多个 PDF 文件合并成一个大的 PDF 文件。例如,在整理文档、生成报告等场景下,合并多个相关的 PDF 文件可以提高文档的整体性和可读性。有多种工具和方法可实现这一需求,下面将介绍一些常见的解决方案。

实现步骤


1. 使用 pdfunite
  1. pdfunite
复制代码
  1. poppler
复制代码
工具集的一部分,安装较为常见,使用也相对简单。
  1. pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
复制代码
为避免覆盖最后一个输入文件,可添加文件存在性检查:
  1. export output_file=out.pdf && \
  2. ! test -e $output_file && \
  3. pdfunite in-1.pdf in-2.pdf in-n.pdf $output_file
复制代码
2. 使用 Ghostscript

Ghostscript 是一个强大的工具,无需额外安装其他软件。
  1. gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf mine1.pdf mine2.pdf
复制代码
对于低分辨率的 PDF 文件,可使用以下改进版本:
  1. gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged.pdf mine1.pdf mine2.pdf
复制代码
还可使用
  1. -o
复制代码
选项简化命令:
  1. gs -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -o merged.pdf mine1.pdf mine2.pdf
复制代码
3. 使用 pdftk
  1. pdftk
复制代码
可以处理加密的 PDF 文件。
  1. pdftk file1.pdf file2.pdf cat output output.pdf
复制代码
4. 使用 qpdf
  1. qpdf
复制代码
适合处理复杂的 PDF 操作,如选择特定页面合并。
  1. qpdf --empty --pages *.pdf -- out.pdf
复制代码
5. 使用 pdfjoin
  1. pdfjoin a.pdf b.pdf
复制代码
这会创建一个新的
  1. b-joined.pdf
复制代码
文件,包含
  1. a.pdf
复制代码
  1. b.pdf
复制代码
的内容。

6. 使用 Python 和 PyPDF2

当需要合并大量文件时,可使用 Python 结合
  1. PyPDF2
复制代码
库。
  1. from pathlib import Path
  2. from PyPDF2 import PdfMerger
  3. import natsort

  4. DIR = Path("dir-with-pdfs/")
  5. OUTPUT = "output.pdf"

  6. paths = DIR.glob("*.pdf")
  7. paths = natsort.natsorted(paths)

  8. merger = PdfMerger()

  9. for path in paths:
  10.     merger.append(path)

  11. merger.write(OUTPUT)
复制代码
核心代码

以下是使用 Ghostscript 合并多个 PDF 文件的核心代码:
  1. gs -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -o merged.pdf mine1.pdf mine2.pdf
复制代码
使用 Python 和
  1. PyPDF2
复制代码
合并 PDF 文件的核心代码:
  1. from PyPDF2 import PdfMerger

  2. merger = PdfMerger()
  3. pdf_files = ['file1.pdf', 'file2.pdf', 'file3.pdf']

  4. for pdf in pdf_files:
  5.     merger.append(pdf)

  6. merger.write('merged.pdf')
  7. merger.close()
复制代码
最佳实践


  • 选择合适的工具:根据具体需求选择合适的工具。如果只是简单合并整个 PDF 文件,
    1. pdfunite
    复制代码
    是不错的选择;如果需要处理加密文件,可使用
    1. pdftk
    复制代码
    ;如果需要更复杂的操作,如选择特定页面合并,
    1. qpdf
    复制代码
    更合适。
  • 注意文件大小:某些工具可能会导致合并后的文件大小显著增加,可根据情况调整参数,如使用 Ghostscript 时设置合适的
    1. PDFSETTINGS
    复制代码

  • 检查文件完整性:合并前确保所有输入的 PDF 文件完整且可读,避免合并过程中出现错误。

常见问题


    1. pdfunite
    复制代码
    覆盖文件
    :使用
    1. pdfunite
    复制代码
    时,如果忘记指定输出文件名,会覆盖最后一个输入文件。可添加文件存在性检查来避免。
    1. convert
    复制代码
    命令效果不佳
    1. convert
    复制代码
    命令通常会将 PDF 转换为图像,导致质量下降和文件大小增加,不建议用于 PDF 合并。
    1. pdftk
    复制代码
    依赖问题
    :在某些系统中,
    1. pdftk
    复制代码
    可能依赖于
    1. gcj
    复制代码
    ,而部分系统不再支持该依赖,可考虑使用其他工具替代。
  • 超链接和注释丢失:部分工具在合并过程中可能会导致超链接和注释丢失,如
    1. pdfunite
    复制代码
    1. pdfjoin
    复制代码
    等。可使用
    1. pdftk
    复制代码
    1. sejda-console
    复制代码
    等工具来保留这些信息。
以上就是Linux下合并多个PDF文件为一个PDF文件的方法汇总的详细内容,更多关于Linux合并多个PDF为一个的资料请关注晓枫资讯其它相关文章!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
20
积分
20
注册时间
2022-12-26
最后登录
2022-12-26

发表于 2025-9-2 09:14:52 | 显示全部楼层
路过,支持一下
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表