Pdf

使用轉換從 PDF 文件中獲取特定頁面?

  • May 28, 2021

我知道我以前做過,所以我確信這是可能的,我只是忘記瞭如何去做。有一種方法可以告訴轉換獲取 PDF 的特定頁面,我想將該頁面的格式保留為 PDF。

ImageMagick 是用於點陣圖圖像的工具,大多數 PDF 都不是。如果使用它,它會柵格化數據,這通常是不可取的。

Pdftk可以從 PDF 文件中提取一頁或多頁。

pdftk A=input.pdf cat A42 A43 output pages_42_43.pdf

如果您使用 PDFLaTeX 安裝了 LaTeX,則可以使用pdfpages。pdfpages 有一個外殼包裝器pdfjam

pdfjam -o pages_42_43.pdf input.pdf 42,43

另一種可能性(這裡有點矯枉過正,但對比一頁更複雜的需求有用)是 Python 和PyPdf庫。

#!/usr/bin/env python
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for i in [42, 43]:
   output.addPage(input.getPage(i))
output.write(sys.stdout)

您可以使用下標符號convert(1)“索引”到 PDF:

$ convert source.pdf[1] dest.pdf 

索引值取決於 PDF 導出器如何對頁面進行編號。在此處對文件的測試中,數字似乎是從零開始的,因此上面的範例為您提供了文件中的第二頁。我在網上看到過一些例子,它們顯示字母索引,因為顯然 PDF 創建者以這種方式“編號”了該文件中的頁面。

不幸的是,這並沒有給出很好的結果,因為 ImageMagick 假設一切都是基於像素的,因此會光柵化矢量圖像,例如典型 PDF 中的排版。

一個更好的工具是Ghostscript,您可能已經安裝了它:

$ gs -dNOPAUSE -dBATCH -dFirstPage=2 -dLastPage=2 -sDEVICE=pdfwrite \
   -sOutputFile=dest.pdf -f src.pdf

由於 Ghostscript 比 ImageMagick 更深層次地理解 PDF(PostScript 派生詞),因此這會通過未更改的方式傳遞 PDF 數據。

引用自:https://unix.stackexchange.com/questions/14640