Ghostscript 命令行使用

471 阅读3分钟

Ghostscript 安装之后,可以打开命令行.来实现pdf的各种操作.

命令行下的通用参数

-q 不显示过程信息

-r 设置dpi大小

选择第3页-第5页

-dFirstPage=3 -dLastPage=5

对彩色图像进行降采样,并将其分辨率设置为 72 DPI

-dDownsampleColorImages=true -dColorImageResolution=72

对灰度图像进行降采样,并将其分辨率设置为 72 DPI

-dDownsampleGrayImages=true -dGrayImageResolution=72

对单色图像进行降采样,并将其分辨率设置为 72 DPI

-dDownsampleMonoImages=true -dMonoImageResolution=72

将PDF转换为图片格式

有损高质量压缩图像
gswin64c.exe -q -sDEVICE=jpeg -r300 -o "C:\Users\YourUsername\Documents\output-%03d.jpg" "C:\Users\YourUsername\Documents\input.pdf"
24 位真彩色的 PNG 图像
gswin64c.exe -q -sDEVICE=png16m -r300 -o "C:\Users\YourUsername\Documents\output-%03d.jpg" "C:\Users\YourUsername\Documents\input.pdf"
灰度 PNG 图像
gswin64c.exe -q -sDEVICE=pnggray -r300 -o "C:\Users\YourUsername\Documents\output-%03d.jpg" "C:\Users\YourUsername\Documents\input.pdf"

24 位无压缩 TIFF 图像

gswin64c.exe -q -sDEVICE=tiff24nc -r300 -o "C:\Users\YourUsername\Documents\output-%03d.jpg" "C:\Users\YourUsername\Documents\input.pdf"

黑白单通道 TIFF 图像

gswin64c.exe -q -sDEVICE=tiffg4 -r300 -o "C:\Users\YourUsername\Documents\output-%03d.jpg" "C:\Users\YourUsername\Documents\input.pdf"

输出为PDF

合并PDF文件
gswin64c.exe -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile="C:\Users\merged.pdf" "C:\Users\file2.pdf" "C:\Users\file3.pdf"
提取指定页面
gswin64c.exe -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dFirstPage=3 -dLastPage=5 -sOutputFile="C:\Users\extracted_pages.pdf" "C:\Users\input.pdf"
压缩pdf
gswin64c.exe -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dBATCH -sOutputFile="C:\Users\compressed.pdf" "C:\Users\input.pdf"

压缩pdf的dPDFSETTINGS 有四个预设值:

  • /screen:通常会将图像分辨率降低至 72 - 150 DPI 左右;可能会减少颜色数量以降低文件大小;会对字体进行子集化处理,只嵌入文档实际使用字符对应的字体数据。
  • /ebook:图像分辨率通常设置在 150 - 300 DPI 之间;保留相对较多颜色信息使显示更自然;会进行字体子集化并保留更多字符信息以确保不同语言文字正常显示。
  • /printer:图像分辨率通常设置为 300 DPI 或更高;保留完整色彩信息并采用高质量色彩处理方式保证打印颜色准确;可能嵌入完整字体文件避免打印时字体缺失问题。
  • /prepress:图像分辨率设置得非常高,通常在 300 - 600 DPI 甚至更高;采用专业色彩管理和高精度色彩模式满足印刷工艺要求。
  • /default:提供通用设置,在文件大小和质量间相对平衡处理,具体设置可能因 Ghostscript 版本和配置而异。

使用-r进行压缩成pdf时,对矢量文字,表格不会压缩.dPDFSETTINGS压缩才会.使用颜色采样压缩,跟预设的差不多.

自定义压缩
gswin64c.exe -q -dFirstPage=3 -dLastPage=5 -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dColorImageResolution=80 -dDownsampleGrayImages=true -dGrayImageResolution=80 -dDownsampleMonoImages=true -dMonoImageResolution=80 -dNOPAUSE -dBATCH -sOutputFile="C:\Users\lmxy1\Downloads\内页笔试3.pdf" "C:\Users\lmxy1\Downloads\内页笔试.pdf"
gswin64c.exe -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dColorImageResolution=80 -dDownsampleGrayImages=true -dGrayImageResolution=80 -dDownsampleMonoImages=true -dMonoImageResolution=80 -dNOPAUSE -dBATCH -sOutputFile="C:\Users\lmxy1\Downloads\内页笔试3.pdf" "C:\Users\lmxy1\Downloads\内页笔试.pdf"

转化 PostScript 文件

PostScript
gswin64c.exe -sDEVICE=pswrite "-sOutputFile=output.ps" "input.pdf"
PostScript(EPS)
gswin64c.exe -sDEVICE=eps2write "-sOutputFile=output.ps" "input.pdf"