Dòng lệnh: Làm thế nào để bạn xoay một tệp PDF 90 độ?


52

Khi tôi quét các tài liệu theo hướng ngang, các tệp PDF đầu ra là dọc và do đó tất cả các trình xem PDF sẽ hiển thị các tài liệu được quét theo chiều dọc.

Từ dòng lệnh, làm thế nào để bạn xoay một tệp PDF 90 độ?

Tôi đã thử tìm kiếm và tìm thấy một loạt các giải pháp nhưng tôi gặp khó khăn khi tìm những gì trông giống như một giải pháp có thẩm quyền [1] sử dụng một công cụ linux / unix ổn định / mạnh mẽ.


chú thích [1]

Ví dụ, đây là một mẫu của một số giải pháp hỗn loạn mà tôi tìm thấy:

  • "chỉ cần sử dụng Adobe Acrobat Pro để xoay tệp và sau đó lưu tệp"
  • "sử dụng pdfjam"
  • "sử dụng pdftk"
  • "sử dụng $ {PROGRAM_NAME} từ Poppler"
  • "sử dụng chuyển đổi của Imagemagick" - nhưng sau đó tất cả các bình luận đều rất tiêu cực và nói rằng "chất lượng hình ảnh bị hủy hoại"
  • "mở tệp trong trình xem PDF, sau đó xoay, sau đó in bằng máy in PDF như CUTEPDF hoặc PDFPRINTER, v.v."
  • "sử dụng $ {PROGRAM_NAME}" sau đó tôi đã tìm kiếm "$ {PROGRAM_NAME}" và có một cái gì đó về "Fedora đã xóa $ {PROGRAM_NAME} vì vấn đề cấp phép"

5
Không có "giải pháp có thẩm quyền", nhưng bạn nên ghi nhớ phương pháp mà các giải pháp khác nhau sử dụng: Thao tác trực tiếp cấu trúc PDF (pdftk, Adobe Acrobat và các chương trình khác), chuyển đổi thành hình ảnh và sau đó chuyển đổi lại thành PDF (ví dụ: Chuyển đổi hình ảnh, in bằng máy in PDF, v.v.). Sau này rõ ràng là một ý tưởng tồi.
dirkt

Làm thế nào là những giải pháp haphazard ? Làm thế nào bạn thất vọng bởi mỗi người trong số họ? Bạn đã thực sự thử chúng?
simlev

Câu trả lời:


48

Chỉ cần sử dụng pdftk.

  1. Để quay theo chiều kim đồng hồ:

    pdftk input.pdf cat 1-endeast output output.pdf
    
  2. Để quay ngược chiều kim đồng hồ:

    pdftk input.pdf cat 1-endwest output output.pdf
    

Liên quan đến việc cài đặt pdftk trên Fedora, tôi tìm thấy liên kết này .


4
Trang man của pdftk nêu thêm các tùy chọn để xoay:The page rotation setting can cause pdftk to rotate pages and documents. Each option sets the page rotation as follows (in degrees): north: 0, east: 90, south: 180, west: 270, left: -90, right: +90, down: +180. left, right, and down make relative adjustments to a page's rotation.
Tapper

Đầu ra được xoay nhưng vẫn được thu nhỏ đủ để phù hợp với định hướng ban đầu. Không hữu dụng.
JohnMudd

@JohnMudd Ý bạn là gì khi "thu nhỏ đủ nhỏ để phù hợp với định hướng ban đầu"? Tôi cho rằng bây giờ bạn có vấn đề với trình xem PDF, không phải với việc xoay trang.
dùng163859

Bản PDF gốc của tôi là một trang có kích thước chữ xoay 90 độ nên chiều cao trang đã giảm từ 11 "xuống còn 8,5". Không thay đổi sau khi điều chỉnh xoay. Tìm thấy điều này là đúng với nhiều công cụ trực tuyến. Rốt cuộc có thể không phải là một vấn đề với chuyển đổi. Tôi tìm thấy một tùy chọn chia tỷ lệ trong khi xem / in PDF xoay và nó đã sửa nó. Xin lỗi, tôi đã rất thất vọng tại thời điểm đó tôi chỉ in và di chuyển và không lưu ý các bước chính xác tôi đã thực hiện.
JohnMudd

1
pdftkđược gỡ bỏ trong Ubuntu 18.04 trở lên. Bản thân Ubuntu đề nghị cài đặt một snap, chỉ hoạt động trong các tình huống đơn giản (nó không tìm thấy các tệp của tôi, có lẽ vì chúng nằm ngoài thư mục chính của tôi?). Tôi chuyển đến pdfjam ... --angle 270....
Stéphane Gourichon

42

Tôi chỉ vấp phải chủ đề này và thấy rằng chưa có giải pháp tốt nào được đề cập. Tôi thấy rằng (ít nhất là trên Debian và Ubuntu) pdfjam đi kèm với các lệnh sau:

pdf90 input.pdf
pdf180 input.pdf
pdf270 input.pdf

Tôi nghĩ rằng đó là cách tiếp cận dễ dàng và nhanh nhất. Đây là các tập lệnh sử dụng lệnh pdfjam đúng cách. Btw. pdfjam là một gói ảo đi kèmtexlive-extra-utils


4
Có vẻ như 90 đi ngược chiều kim đồng hồ và 270 đi theo chiều kim đồng hồ - có lẽ bạn nên đề cập đến điều đó.
Aaron Hall

2
pdf90 thực sự là một trình bao bọc mỏng. Tuy nhiên, nó buộc một quy ước hậu tố. Vì vậy, tôi đã sử dụng pdfjam trực tiếp:pdfjam --outfile myoutputfile.pdf --angle 270 --fitpaper true --rotateoversize true myinputfile.pdf
Stéphane Gourichon

16

Bạn có thể sử dụng ImageMagick: displayhoặc convert- vd để xoay theo chiều kim đồng hồ sử dụng

convert -rotate 90 <file>.pdf <rotated-file>.pdf

Sử dụng -90 cho một vòng quay ngược chiều kim đồng hồ.

NB Chỉ sử dụng phương pháp này khi ảnh gốc là bitmap (ví dụ: được tạo bằng cách quét). Nếu ảnh gốc không phải là ảnh bitmap, phương pháp này sẽ chuyển đổi thành một và chất lượng sẽ bị ảnh hưởng. Trong trường hợp sau, vui lòng sử dụng một trong các phương pháp trong các câu trả lời khác.


11
Điều này trước tiên sẽ chuyển đổi văn bản PDF thành hình ảnh, vì vậy kích thước sẽ tăng lên và chất lượng sẽ giảm (Trừ khi nó chỉ là một lần quét).
aviv

1
Đúng vậy, đó là một lời nhắc hữu ích, nhưng trong trường hợp này, OP tuyên bố rằng anh ta đang quét các tài liệu.
NickD

12
Kết quả pdf có chất lượng rất thấp.
Ivan Romanov

Phương pháp này chỉ tốt cho bản gốc được quét: chúng đã là bitmap. Đối với các tệp PDF thông thường, hãy xem nhận xét của @ aviv ở trên và có thể sử dụng phương pháp này trong câu trả lời khác.
NickD


12

pdftk không còn khả dụng trên Ubuntu 18.04 do một số phụ thuộc không dùng nữa.

Giải pháp tốt nhất tôi tìm thấy là công cụ (đồ họa) pdfshuffler .

Cài đặt và chạy nó. Mở tệp pdf mong muốn, nhấp chuột phải vào trang và xoay từng tệp một. Nó cũng đối chiếu pdf và một số điều tốt đẹp khác.

sudo apt install pdfshuffler

1
Bạn có phải xoay từng trang một cách thủ công? Đó là một công cụ thỏa thuận. Tôi cần xoay một cuốn sách PDF dài hàng trăm trang để xem nó tốt hơn (lớn hơn) trên Kindle. CẬP NHẬT : Chỉ cần thử nó, không, bạn có thể Ctrl-A để chọn tất cả các trang sau đó xoay tất cả chúng trong một bước.
Gerry Lufwansa

12

Trong Linux Mint 18.3 (Tôi cũng tin vào các bản phân phối có nguồn gốc Debian khác), bạn có một công cụ dòng lệnh đơn giản có tên QPDF.

Bạn có thể sử dụng : qpdf in.pdf out.pdf --rotate==[+|-]angle[:page-range].

Từ tài liệu :

--rotate = [+ | -] góc [: phạm vi trang]

Áp dụng xoay vòng cho các trang được chỉ định. Phần phạm vi trang của giá trị tùy chọn có cùng định dạng với phạm vi trang trong Phần 3.5, Tùy chọn lựa chọn trang Trang trực tiếp. Nếu phạm vi trang bị bỏ qua, xoay vòng được áp dụng cho tất cả các trang. Phần góc của tham số có thể là 90, 180 hoặc 270. Nếu đứng trước + hoặc -, góc được thêm vào hoặc trừ khỏi các góc quay ban đầu của các trang được chỉ định. Mặt khác, góc quay của trang được đặt thành giá trị chính xác. Ví dụ: lệnh qpdf in.pdf out.pdf --rotate=+90:2,4,6 --rotate=180:7-8sẽ xoay các trang 2, 4 và 6 90 độ theo chiều kim đồng hồ so với xoay ban đầu của chúng và buộc xoay các trang 7 đến 9 đến 180 độ bất kể xoay vòng ban đầu của chúng và lệnh qpdf in.pdf out.pdf --rotate=180sẽ xoay tất cả các trang 180 độ.


3
Chỉ định phạm vi trang dường như là bắt buộc, ít nhất là trong phiên bản qpdf hiện tại của tôi (8.0.2).
Xtreme Biker

6

Để cải thiện độ phân giải đầu ra (mặc định là 72 DPI), tôi đã nhận được kết quả tốt với:

convert -rotate -90 -density 200 input.pdf output.pdf

Đây là một .pdf của một tài liệu được quét. Tôi thấy rằng -density 300chất lượng giảm đi phần nào so với -density 200.


Thêm mật độ 300, 600 và thậm chí 1200 chỉ cải thiện một chút về chất lượng đầu ra.
JohnMudd

1

Mặc dù nó có những hạn chế của nó, tôi khá thường xuyên sử dụng PDFedit, đặc biệt là cho việc xoay vòng quét PDF. Mặc dù chuyển đổi của ImageMagick (sử dụng các giá trị mật độ khá cao) đạt được chất lượng khá tốt, nhưng nó cũng làm mờ tệp (bản gốc: 155 kiB, bản sao xoay 180 °: 1,2 MiB). PDFedit xoay cùng một hình ảnh với chất lượng không thay đổi mà không thay đổi đáng kể kích thước tệp.


Nghe có vẻ rất hứa hẹn! tôi cũng nhận thấy vấn đề với việc thay đổi kích thước tập tin quyết liệt mà bạn đề cập đến.
Trevor Boyd Smith

0

Tôi sử dụng lệnh này để tự động xoay các tệp pdf để trở nên thẳng đứng nếu chúng không thẳng đứng ở vị trí đầu tiên:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/All -sOutputFile="$outputFile" "$file"

Điều này không có hiệu lực.
Colin 't Hart

@ Lệnh Colin'tHart của tôi chỉ phục hồi tài liệu để trở thành thẳng đứng xuống nếu nó không phải là thẳng đứng ở nơi đầu tiên, để buộc sử dụng luân phiên pdf90hoặc pdf180hoặc pdf270thay vào đó, nhìn thấy câu trả lời này
SebMa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.