1 페이지 PDF를 시트 PDF 당 2 페이지로 변환하는 방법?


44

첫 페이지의 앞면에 첫 두 페이지가 있고 뒷면의 세 번째와 네 번째 등이되도록 PDF를 인쇄하고 싶습니다.

-----------------          -----------------
|       |       |          |       |       |
|       |       |          |       |       |
|   1   |   2   |          |   3   |   4   |    . . .
|       |       |          |       |       |
|_______|_______|          |_______|_______|

 page 1 - front             page 1 - back

Linux를 사용하는 프린터가 수동 양면 인쇄를 지원하지 못하기 때문에 pdf를 적절하게 편집 할 수 있다고 생각했습니다.

그러나 어떻게?


나는 이것이 가능하다고 생각하지 않습니다. 당신은 PDF 만 가지고 있습니까?
Michael K

psutils 패키지 및 / 또는 pdftk의 pstop을 사용하여 Linux에서 가능합니다. 어떤 운영 체제를 실행하고 있습니까?
rems

@ Ivo Flipse : har, 나는 똑같은 생각을했습니다 :), 귀하의 의견은 +1을 얻습니다.
akira

@Ivo Flipse, @rems : 더 많은 ASCII 아트를 공표 할 수 있습니다 : superuser.com/questions/54054/…superuser.com/questions/235074/… ... @mokasin :이 링크는 해결 방법을 알려줍니다 요청한 작업.
Kurt Pfeifle

답변:


23

언급 된 것 외에도 PDFjam 에는이를 수행하는 명령 행 도구가 포함되어 pdfnup있습니다. (아래에서 PDFLaTeX 용 pdfpages 패키지를 사용하며,이 패키지도 사용할 수 있습니다.)

GUI를 선호한다면 jPDFtweak 가 또 다른 옵션입니다.


완전한. 내가 찾던 것.
mokasin

1
샘플 사용법 : pdfnup --nup 2x1 mypdf.pdf. 이렇게하면 가로보기에서 한 장에 2 페이지 씩 나란히 인쇄되어 짧은 가장자리 위로 뒤집 힙니다. 자세한 내용 man pdfnup은 몇 가지를 참조하십시오.
Gabriel Staples

나는 또한 대답을 추가하기로 결정했습니다 .1 페이지 1 pdf를 동일한 페이지에 2 부의 사본이있는 가로보기로 변환하는 방법 (전단지 인쇄에 좋습니다) : superuser.com/a/1452008/425838
Gabriel

24

pdfnup 사용 :

$ pdfnup file.pdf

요청한대로 pdf 파일이 새로 생성됩니다.


pdfnup은 pdfjam과 함께 사용되는 명령 행 옵션을 보여 주므로 여기에서 조정할 수 있습니다. (. 예 : 당신이 풍경을 가지고 있지하려는 경우 pdfjam를 호출 할 때 당신은 --landscape 옵션을 제거 할 수 있습니다)
트레버 보이드 스미스

6
더 정확하게 pdfnup --nup 2x1 --suffix test file.pdffile-test.pdf1 페이지에 2 페이지를 만듭니다 .
lolesque

1
sudo apt install texlive-extra-utils이 유틸리티를 Ubuntu에 설치합니다.
Sarke

단일 페이지 a4가 있는데 한 장에 a5를 두 부 인쇄하려고합니다. 어떻게하면 되나요? 위의 'pdfnup'사용법 예제는 첫 페이지를 복제 하지 않고 대신 첫 번째 a4 시트의 두 번째 a5 부분을 비 웁니다 .
Nordlöw

2

이것은 지금 당장 우리가 없었던 옵션이 있지만 최신 솔루션이 필요하다고 생각하기에 충분히 오래된 질문입니다.

Linux pdf 뷰어는 일반적으로 인쇄 옵션 / 속성 을 사용하여 페이지 레이아웃을 설정하며 시트 / 면당 여러 페이지를 인쇄 할 수 있습니다. 아이디어를 사용하여 PDF 파일로 인쇄합니다 .

Evince도 할 수 있습니다, qpdfview . 여기있습니다.


qpdfview

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


설득

여기에 이미지 설명을 입력하십시오


PDF Studio 뷰어

여기에 이미지 설명을 입력하십시오

다른 pdf 뷰어에는 비슷한 옵션이 있어야합니다.


1

PDF를 독자 스프레드, 소책자 스프레드 등으로 변환하는 데 사용할 수있는 프리웨어 및 오픈 소스 명령 줄 도구가 있습니다.

사용중인 응용 프로그램을 잃어 버렸으므로 도움이되지 않지만 빠른 검색에서 pdfshuffler ( http://sourceforge.net/projects/pdfshuffler/ ) 라는 프로그램 이 표시됩니다. GUI가 있으므로 자동적이지는 않지만 다른 도구의 프론트 엔드입니다.


0

파일로 인쇄 기능이있는 경우. 페이지 당 두 페이지 설정과 홀수 페이지로 파일에 인쇄합니다. 짝수 페이지로 프로세스를 반복하십시오. 이제 홀수 페이지를 인쇄하고 인쇄 된 용지를 뒤집고 짝수 페이지 파일을 인쇄하십시오.


0

@ mokasin : 사용중인 PDF 리더를 말하지 않았습니다. Linux 버전의 Acrobat / Adobe Reader를 사용하는 경우 : 인쇄 대화 상자에서 바로 "2-up"을 인쇄하는 옵션이 있습니다. 홀수 페이지 나 짝수 페이지 만 인쇄하도록 선택할 수 있으므로이를 조합하면 원하는 출력을 얻는 데 도움이됩니다.


0

Solaris 11.2 운영 체제에서 테스트 한이 소프트웨어는 일반적으로 교실이나 회의에서 유인물로 사용되는 2-up이라는 구성표를 만들 수 있습니다. 다른 계획을 만들 수 있습니다. 예를 들어, 한 장 또는 한 장의 양면에 3 페이지 또는 4 페이지 이상의 페이지가있는 유인물. JAR 파일이므로 터미널에서 실행하거나 쉽게 액세스 할 수 있도록 GUI를 실행할 수 있습니다. Solaris 외에도 다른 Linux 배포판도 호환 가능하며 소프트웨어를 "실행 가능"으로 슈퍼 사용자 권한으로 실행합니다. "아카이브 열기"를 사용하지 마십시오. 또한 대부분의 경우와 같이 이미 JRE (Java Runtime Environment)가 설치되어있는 모든 Windows 및 Mac에서도 작동합니다. 소프트웨어는 디스프로슘 임 포지션 이며 무료로 다운로드하여 사용할 수 있습니다.


0

1 또는 2 페이지의 PDF를 타고 (즉, 나란히 가로보기 2 부와 PDF로 돌려 싶은 누군가를 위해 전단지를 인쇄 큰 ), 수행

  1. 1 또는 2pg pdf 입력을 해당 페이지의 사본이 포함 된 출력으로 변환하십시오 (1-pg pdf-> 2-pg pdf, 2-pg pdf-> 4-pg pdf 등).

    pdfunite in.pdf in.pdf out.pdf
    
  2. 예를 들어 전단지를 인쇄하기 위해 복사 된 pdf를 가로 당 2 페이지의 pdf로 결합하십시오.

    pdfnup out.pdf
    

또는 모두 한 줄로 :

pdfunite in.pdf in.pdf out.pdf && pdfnup out.pdf

참고 out.pdf는 IS 를 입력 으로 pdfnup. 의 결과 출력 파일은 pdfnup" out-nup.pdf "입니다.

또한 pdfnup명령 의 출력을 살펴보면 실제로 실행중인 명령의 자세한 형태를 볼 수 있으며이를 통해 전달할 수있는 옵션에 대한 통찰력을 얻을 수 있습니다. 분명히 후드 아래에서 pdfnup사용 pdfjam합니다.

pdfjam :이 pdfjam 실행에 대한 효과적인 호출 :

/usr/bin/pdfjam --suffix nup --nup '2x1' --landscape -- out.pdf -

예:

원본 PDF (세로보기에서 1 페이지), " in.pdf ": 여기에 이미지 설명을 입력하십시오

최종 PDF (가로보기에서 나란히 2 pgs), " out-nup.pdf ":
-이제 중간으로 반으로 잘라 전단지로 전달할 수 있습니다. 여기에 이미지 설명을 입력하십시오

간단한 배쉬 기능 : make_flyer

간단하고 사용하기 쉬운 명령에 액세스하려면이 bash 함수를 "~ / .bashrc"파일의 맨 아래에 복사하여 붙여 넣으십시오 make flyer.

# Description: outputs a landscape-oriented flyer pdf ("my/pdf/input--flyer.pdf") for each 1 or more pg input pdf ("my/pdf/input.pdf")
#   - 1-pg input PDFs are converted to a 1-sided landscape, printable flyer that you cut down the center to make 
#     2 flyers
#   - 2-pg input PDFs are converted to a 2-sided landscape, printable flyer (flip on short edge when printing 
#     double-sided), and also cut down the middle to make 2 flyers
#   - **3+ pg input PDFs**: using `pdfnup` directly in this case would make more sense, since this function will
#     otherwise unneccessarily create 2 copies
#   - 3 and 4-pg input PDFs are converted to a single piece of paper, double-sided, flipped on short edge, x 2 copies. 
#     No cutting is necessary
#   - 5+ pg input PDFs simply require half as much paper to print is all since you get 2 pages per side of paper;
#     they do NOT print like booklets, but rather just as a landscape-printed, flipped-on-short-edge bundle of pages
#     (like a deck of slides). You get *2 copies* per print though, so just print half the pages. 
make_flyer() {
    num_args=$# # see: https://stackoverflow.com/questions/4423306/how-do-i-find-the-number-of-arguments-passed-to-a-bash-script/4423321#4423321
    suffix="flyer"

    loop_cnt=0
    for inputpdf in "$@"
    do
        ((loop_cnt++))
        echo "==== CONVERTING PDF $loop_cnt OF $num_args ===="
        echo "     INPUT:  \"$inputpdf\""

        # Strip off the .pdf extension from the input path, while retaining the rest of the path
        # - See: https://stackoverflow.com/questions/12152626/how-can-i-remove-the-extension-of-a-filename-in-a-shell-script/32584935#32584935
        input_path_base="$(echo "$inputpdf" | rev | cut -f 2- -d '.' | rev)"
        input_file_base="$(basename "$inputpdf" .pdf)"
        temp_pdf="${input_path_base}-.pdf" # is "input_path_base-.pdf"

        echo "     OUTPUT: \"$(pwd)/${input_file_base}--${suffix}.pdf\""

        # Convert a single 1-pg pdf into a temporary 2-pg pdf
        pdfunite "$inputpdf" "$inputpdf" "$temp_pdf"

        # Lay out the temporary 2-pg pdf into a side-by-side 1-sided flyer to print; creates "input_path_base--flyer.pdf"
        # Note that `pdfnup` places the output from this operation in the location from where you call this script
        # (ie: in your `pwd` [Present Working Directory])!--NOT the location where temp_pdf is located!
        pdfnup "$temp_pdf" --suffix $suffix

        # Delete the temporary 2-pg pdf, called "input_path_base-.pdf", thereby leaving only the original 
        # "input_path_base.pdf" and the new "input_path_base--flyer.pdf"
        rm "$temp_pdf"
    done
}
alias make_flyer_help='echo -e "Ex usage: make_flyer \"path/to/inputpdf.pdf\" - Creates a landscape-side-by-side flyer version called \"inputpdf--flyer.pdf\"\n          *in your pwd* from a 1 or 2 pg input pdf called \"path/to/inputpdf.pdf\". Accepts multiple arguments. Ex:\n          make_flyer \"path/to/inputpdf1.pdf\" \"path/to/inputpdf2.pdf\""'

사용법 예 :

make_flyer "path/to/inputpdf1.pdf" "path/to/inputpdf2.pdf"

도움말 정보를 참조하십시오.

make_flyer_help

산출:

$ make_flyer_help   
Ex usage: make_flyer "path/to/inputpdf.pdf" - Creates a landscape-side-by-side flyer version called "inputpdf--flyer.pdf"  
          *in your pwd* from a 1 or 2 pg input pdf called "path/to/inputpdf.pdf". Accepts multiple arguments. Ex:  
          make_flyer "path/to/inputpdf1.pdf" "path/to/inputpdf2.pdf"

참고 문헌 :

  1. https://superuser.com/a/948095/425838
  2. https://stackoverflow.com/a/11280219/4561887

관련 :

  1. https://askubuntu.com/questions/214538/printing-in-booklet-format/1095789#1095789

배쉬 레퍼런스 :

  1. Bash bash 함수에 인수를 전달하는 방법 : https://bash.cyberciti.biz/guide/Pass_arguments_into_a_function
  2. 배쉬 연결 문자열 : https://linuxize.com/post/bash-concatenate-strings/
  3. Bash는 문자열로 저장된 cmd를 실행합니다! https://stackoverflow.com/questions/2005192/how-to-execute-a-bash-command-stored-as-a-string-with-quotes-and-asterisk
  4. cmd에 대한 모든 입력을 bash로 반복 하십시오 : https : //.com
  5. Bash 전달 매개 변수 : https : //.com/questions/6212219/passing-parameters-to-a-bash-function/6212408#6212408
  6. 1pg pdf를 전단지 로 변환하는 방법 [나만의 ans!] : 1 페이지 PDF를 시트 당 2 페이지로 변환하는 방법은 무엇입니까?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.