Tôi biết tôi đã làm điều này trước đây, vì vậy tôi chắc chắn rằng nó có thể, tôi chỉ quên cách làm. Có một cách để chuyển đổi để lấy một trang cụ thể của PDF và tôi muốn giữ định dạng của trang đó dưới dạng PDF.
Tôi biết tôi đã làm điều này trước đây, vì vậy tôi chắc chắn rằng nó có thể, tôi chỉ quên cách làm. Có một cách để chuyển đổi để lấy một trang cụ thể của PDF và tôi muốn giữ định dạng của trang đó dưới dạng PDF.
Câu trả lời:
ImageMagick là một công cụ cho hình ảnh bitmap, mà hầu hết các tệp PDF không có. Nếu bạn sử dụng nó, nó sẽ rasterize dữ liệu, điều này thường không mong muốn.
Pdftk có thể trích xuất một hoặc nhiều trang từ tệp PDF.
pdftk A=input.pdf cat A42 A43 output pages_42_43.pdf
Nếu bạn có cài đặt LaTeX với PDFLaTeX, bạn có thể sử dụng các trang pdf . Có một trình bao bọc cho các trang pdf, pdfjam .
pdfjam -o pages_42_43.pdf input.pdf 42,43
Một khả năng khác (quá mức cần thiết ở đây, nhưng hữu ích cho các yêu cầu phức tạp hơn một trang) là Python với thư viện 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)
pdfjam
hoạt động như một bùa mê và đã được cài đặt với bản phân phối LaTeX của tôi. Nó rất dễ sử dụng.
pdftk
do đó dường như không chỉ trích xuất một trang. Kết quả là tốt nếu không.
Bạn có thể sử dụng ký hiệu đăng ký với convert(1)
"chỉ mục" thành PDF:
$ convert source.pdf[1] dest.pdf
Giá trị chỉ mục phụ thuộc vào cách nhà xuất khẩu PDF đánh số trang. Trong các thử nghiệm trên các tệp ở đây, các số dường như dựa trên số không, vì vậy ví dụ trên đưa bạn đến trang thứ hai trong tài liệu. Thay vào đó, tôi đã thấy các ví dụ trực tuyến nơi họ hiển thị các chỉ mục chữ cái, vì rõ ràng người tạo PDF đã "đánh số" các trang trong tài liệu đó theo cách đó.
Thật không may, điều này không cho kết quả rất tốt, vì ImageMagick giả định mọi thứ đều dựa trên pixel và do đó làm mờ hình ảnh vector, chẳng hạn như kiểu chữ trong một tệp PDF thông thường.
Một công cụ tốt hơn cho công việc là Ghostscript mà bạn có thể đã cài đặt:
$ gs -dNOPAUSE -dBATCH -dFirstPage=2 -dLastPage=2 -sDEVICE=pdfwrite \
-sOutputFile=dest.pdf -f src.pdf
Điều này chuyển dữ liệu PDF qua không thay đổi, vì Ghostscript hiểu PDF (một dẫn xuất PostScript) đến mức sâu hơn nhiều so với ImageMagick.
-density 300
là điểm ngọt ngào. Bất cứ điều gì lớn hơn và bạn đang tạo các tệp tạm thời khổng lồ - mà có lẽ bạn sẽ thay đổi kích thước xuống hình thu nhỏ
source.pdf[3-6]
pdftk
là tốt. Bạn sẽ muốn sử dụng nó.