「PDF」- Portable Document Format

认识

PDF,Portable Document Format,是种可移植文档格式,是种电子文档格式,其由 Adobe Systems 公司开发,于 1993 年开发,是种文件格式,旨在以独立于软件、硬件和操作系统的方式呈现文档。

组成

  • 文本与字体:嵌入字体以确保显示一致。
  • 矢量图形:支持线条、形状的无限缩放。
  • 位图图像:嵌入 JPEG、PNG 等格式的图片。
  • 元数据:存储标题、作者、关键词等信息。
  • 扩展名:以“.pdf”作为文件扩展名的文件,其通常为 PDF 格式的文档。

性质

  • 跨平台兼容性:在不同设备(Windows、macOS、Linux、……)和软件中,PDF 文件能保持一致的显示效果。经过编码后可以在不同操作系统和不同硬件环境下保持原始格式的可读性,具有高度的可靠性和兼容性。
  • 格式固定:保留原始文档的布局、字体、图像和格式,避免排版错乱。
  • 安全性:支持密码保护、数字签名、权限限制(如禁止打印或编辑)。
  • 压缩高效:可压缩图像和文本,减小文件体积。
  • 交互性:支持超链接、书签、表单、多媒体(音频 / 视频)和动态内容。

构造

PDF 格式的文档可以包含文字、图片、图形、表格、多媒体等内容,并且可以通过 Adobe Acrobat 等软件进行编辑和创建。

创建 PDF 文件
修改 PDF 文件
查看 PDF 文件

EPUB to PDF

https://www.freepdfconvert.com/epub-to-pdf

CHM to PDF

Code Yarns – Convert CHM file to PDF using chm2pdf

apt-get install chm2pdf

chm2pdf --book foobar.chm

IMG to PDF

我们需要将多张图片合并为 PDF 文档,所以该部分将记录将 IMG 转化为 PDF 的方法;

gscan2pdf | How to Convert Multiple Images to PDF in Ubuntu Linux

apt install gscan2pdf

// => File => Open
// => 选中所有图片
// => Save => PDF

img2pdf | bash – How can I convert a series of images to a PDF from the command line on Linux? – Stack Overflow

apt install img2pdf

img2pdf img1.png img2.jpg -o out.pdf

# 已知问题:
# * 如果图片长度较长,则生成的 PDF 文件中,该图片无法正确显示(显示为细长条);

PDF to IMG

Compile a LaTeX document into a PNG image that’s as short as possible

我们需要将 PDF 转化为图 IMA 文件。该部分将记录将 PDF 转为 PNG 图片的方法;

latex(失败)
latex to dvi to png 对 \rotatebox 支持有问题,我们只能 latex to pdf to png)

ImageMagick convert

convert -density 300 file.pdf -quality 90 file.png

# Q:attempt to perform an operation not allowed by the security policy `PDF'
# A:参考 ImageMagick 文档

应用

  • 文档共享:合同、报告、简历等需保真分发的文件。
  • 电子书:固定版式的电子出版物。
  • 官方表单:可填写的税务表格、申请表等。
  • 学术论文:保留图表、公式等复杂排版。
  • 印刷出版:符合专业印刷标准(如 CMYK 色彩模式)。

改进

WIP

参考

DeepSeek / 介绍 PDF 文档