명령 행 : PDF 파일을 90도 회전하는 방법


52

가로 방향의 문서를 스캔 할 때 출력 PDF 파일은 세로이므로 모든 PDF 뷰어는 스캔 한 문서를 세로로 표시합니다.

명령 행에서 PDF 파일을 90도 회전하는 방법은 무엇입니까?

검색을 시도하고 많은 솔루션을 찾았지만 안정적이고 견고한 리눅스 / 유닉스 도구를 사용하는 권위있는 솔루션 [1]을 찾는 데 어려움이있었습니다.


각주 [1]

예를 들어, 여기 내가 찾은 우연한 해결책 중 일부가 있습니다.

  • "Adobe Acrobat Pro를 사용하여 파일을 회전 한 다음 파일을 저장하십시오"
  • "pdfjam 사용"
  • "pdftk 사용"
  • "Poppler에서 $ {PROGRAM_NAME} 사용"
  • "Imagemagick의 변환 사용"-그러나 모든 의견은 매우 부정적이며 "이미지 품질이 손상되었습니다"
  • "PDF 뷰어에서 파일을 열고 회전 한 다음 CUTEPDF 또는 PDFPRINTER 등과 같은 PDF 프린터를 사용하여 인쇄하십시오"
  • "$ {PROGRAM_NAME}"을 사용한 다음 "$ {PROGRAM_NAME}"을 (를) 검색했으며 "라이센스 문제로 인해 Fedora에서 $ {PROGRAM_NAME}을 (를) 제거했습니다."

5
"권한있는 솔루션"은 없지만 다양한 솔루션이 사용 하는 방법 을 염두에 두어야 합니다. PDF 구조 (pdftk, Adobe Acrobat 및 기타 프로그램) 직접 조작, 이미지로 변환 한 후 다시 PDF로 변환 (예 : Imagemagick의 변환, PDF 프린터 등을 사용한 인쇄). 후자는 분명히 나쁜 생각입니다.
dirkt

우연한 해결책은 어떻습니까? 그들 각각에 의해 어떻게 실망 했습니까? 실제로 시도 했습니까 ?
simlev

답변:


48

pdftk를 사용하십시오.

  1. 시계 방향으로 회전하는 경우 :

    pdftk input.pdf cat 1-endeast output output.pdf
    
  2. 시계 반대 방향으로 회전하는 경우 :

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

Fedora에 pdftk 설치와 관련 하여이 링크를 찾았습니다 .


4
pdftk의 매뉴얼 페이지에는 회전에 대한 추가 옵션이 나와 있습니다.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

출력은 회전하지만 원래 방향에 맞도록 충분히 작게 조정됩니다. 도움이되지 않습니다.
JohnMudd

@JohnMudd "원래 방향에 맞출만큼 작은 크기"란 무엇을 의미합니까? 이제 페이지 회전이 아닌 PDF 뷰어에 문제가 있다고 가정합니다.
user163859

내 원본 PDF는 레터 크기 페이지가 90도 회전되어 페이지 높이가 11 "에서 8.5"로 줄었습니다. 회전 수정 후 변경되지 않았습니다. 많은 온라인 도구에서 이것이 사실임을 알았습니다. 결국 변환에는 문제가되지 않을 수 있습니다. 회전 된 PDF를 보거나 인쇄하는 동안 크기 조정 옵션을 발견했으며 수정했습니다. 죄송합니다. 그 시점에서 너무 좌절해서 방금 인쇄하고 나아 갔으며 정확한 단계를 기록하지 못했습니다.
JohnMudd

1
pdftkUbuntu 18.04 이상에서 제거되었습니다. 우분투 자체는 간단한 상황에서만 작동하는 스냅 설치를 제안합니다 (아마도 파일이 내 홈 디렉토리 외부에 있었기 때문에 파일을 찾지 못했습니까?). 로 이동했습니다 pdfjam ... --angle 270....
Stéphane Gourichon

42

방금이 스레드를 우연히 발견했지만 아직 언급 된 좋은 해결책이 없다는 것을 알았습니다. (데비안과 우분투에서) pdfjam에는 다음 명령이 포함되어 있음을 발견했습니다.

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

나는 이것이 가장 쉽고 빠른 방법이라고 생각합니다. pdfjam 명령을 올바르게 사용하는 스크립트입니다. Btw. pdfjam은 함께 제공되는 가상 패키지입니다texlive-extra-utils


4
90은 시계 반대 방향으로 가고 270은 시계 방향으로가는 것처럼 보입니다.
Aaron Hall

2
pdf90은 실제로 얇은 래퍼입니다. 그러나 접미사 규칙을 강제합니다. 그래서 pdfjam을 직접 사용했습니다 :pdfjam --outfile myoutputfile.pdf --angle 270 --fitpaper true --rotateoversize true myinputfile.pdf
Stéphane Gourichon

16

ImageMagick을 사용할 수 있습니다 : display또는 convert-시계 방향으로 회전하려면

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

시계 반대 방향으로 회전하려면 -90을 사용하십시오.

NB 원본 이미지가 비트 맵 인 경우 에만 이 방법을 사용하십시오 (예 : 스캔으로 생성). 원본 이미지가 비트 맵이 아닌 경우이 방법으로 이미지를 변환하면 품질이 저하됩니다. 후자의 경우 다른 답변의 방법 중 하나를 사용하십시오.


11
먼저 PDF 텍스트를 이미지로 변환하므로 크기가 증가하고 품질이 떨어집니다 (이미 스캔 한 경우 제외).
aviv

1
실제로 유용한 알림이지만이 경우 OP는 문서를 스캔하고 있음을 나타냅니다.
NickD

12
결과 pdf의 품질이 매우 낮습니다.
Ivan Romanov

이 방법은 스캔 한 원본에만 적합합니다. 이미 비트 맵입니다. 일반 PDF의 경우 위의 @aviv의 의견을 참조하고 다른 답변에서 방법을 사용하십시오.
NickD


12

더 이상 사용되지 않는 종속성으로 인해 Ubuntu 18.04에서 pdftk 를 더 이상 사용할 수 없습니다.

내가 찾은 최고의 해결책은 (그래픽) 도구 pdfshuffler 입니다.

설치하고 실행하십시오. 원하는 pdf 파일을 열고 페이지를 마우스 오른쪽 버튼으로 클릭 한 다음 각 파일을 개별적으로 회전하십시오. 또한 pdf와 다른 멋진 것들을 수집합니다.

sudo apt install pdfshuffler

1
각 페이지를 수동으로 회전시켜야합니까? 그것은 거래 차단기입니다. Kindle에서 수백 페이지 길이의 PDF 책을 더 잘 보려면 (더 크게) 회전해야합니다. 업데이트 : 방금 시도해 보았습니다 .Ctrl-A를 사용하여 모든 페이지를 선택한 다음 한 번에 모두 회전시킬 수 있습니다.
Gerry Lufwansa

12

Linux Mint 18.3 (다른 데비안 파생 배포판도 믿습니다)에는 간단한 명령 줄 도구가 QPDF있습니다.

사용할 수 있습니다 : qpdf in.pdf out.pdf --rotate==[+|-]angle[:page-range].

설명서에서 :

--rotate = [+ |-] angle [: 페이지 범위]

지정된 페이지에 회전을 적용합니다. 옵션 값의 페이지 범위 부분은 3.5 절.“페이지 선택 옵션”의 페이지 범위와 형식이 같습니다. 페이지 범위를 생략하면 모든 페이지에 회전이 적용됩니다. 매개 변수의 각도 부분은 90, 180 또는 270 일 수 있습니다. 앞에 + 또는-가 있으면 각도가 지정된 페이지의 원래 회전에 더하거나 뺍니다. 그렇지 않으면 페이지 회전이 정확한 값으로 설정됩니다. 예를 들어, 명령 qpdf in.pdf out.pdf --rotate=+90:2,4,6 --rotate=180:7-8은 원래 회전에서 2, 4 및 6 페이지를 시계 방향으로 90도 회전하고 원래 회전에 관계없이 7에서 9-180도 회전하도록 명령을 실행하고 qpdf in.pdf out.pdf --rotate=180모든 페이지를 180도 회전합니다.


3
적어도 현재 qpdf 버전 (8.0.2)에서는 페이지 범위를 지정 해야하는 것으로 보입니다.
Xtreme Biker

6

출력 해상도를 향상시키기 위해 (기본값은 72 DPI) 다음과 같은 좋은 결과를 얻었습니다.

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

스캔 한 문서의 .pdf 파일입니다. -density 300품질이 다소 떨어 졌다는 것을 알았습니다 -density 200.


밀도 300, 600 및 1200을 추가하면 출력 품질이 약간 향상되었습니다.
JohnMudd

1

제한이 있지만 특히 PDF 스캔 회전에 PDFedit를 사용합니다. ImageMagick의 변환 (고밀도 값을 사용)은 상당히 좋은 품질을 달성하지만 파일을 부풀립니다 (원본 : 155 kiB, 180 ° 회전 복사 : 1.2 MiB). PDFedit는 파일 크기를 눈에 띄게 변경하지 않고 동일한 이미지를 품질이 변하지 않고 회전시킵니다.


매우 유망한 소리! 또한 참조하는 파일 크기를 크게 변경하는 데 문제가 있음을 알았습니다.
Trevor Boyd Smith

0

이 명령을 사용하여 처음에 똑바로 있지 않으면 pdf 파일을 자동으로 회전시켜 똑바로 세웁니다.

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

이것은 효과가 없었습니다.
Colin 't Hart

@이 회전 사용을 강제로, 처음에 똑바로 아니었다면 내 명령은 똑바로 아래로되기 위해 문서를 복원 Colin'tHart pdf90또는 pdf180또는 pdf270참조 대신 이 답변
SebMa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.