단일 페이지 가로 PDF를 크기가 조정된 이중 페이지 세로 PDF로 변환

단일 페이지 가로 PDF를 크기가 조정된 이중 페이지 세로 PDF로 변환

convert다음을 수행하는 데 문제가 있습니다.

나는 기하학이 가로 A4 용지에 해당하는 단일 페이지 PDF 파일을 많이 가지고 있습니다. 실제 콘텐츠는 시각적으로 두 페이지로 나누어져 있습니다. 이 각 파일을 사용하여 내가 시도한 것은 기본적으로 다음과 같습니다. A3으로 크기를 조정하고 실제로 중간에서 세로로 분할하여 두 페이지를 얻은 다음(성공하지 못했습니다 convert) crop두 페이지로 다시 조립합니다. pdf 문서는 2개로 구성됩니다. A4 세로 페이지.

최종 콘텐츠는 요소를 조정한 원본 콘텐츠여야 합니다.sqrt(2)

[  ] -> [    ]  ->  [ | ]
        [    ]      [ | ]
 A4       A3         2xA4
lands.   lands.     portrait

이것의 요점은 크기가 조정된 콘텐츠를 가로 A4 1장 대신 세로 A4 시트 2장으로 인쇄할 수 있다는 것입니다. 그러나 실제로 새 PDF 파일을 만드는 것은 언제든지 다시 인쇄하고 다른 사람과 결합할 수 있으므로 직접 인쇄하는 것보다 낫습니다. 공유한 다음 의도한 대로 직접 인쇄할 수도 있습니다.

답변1

이것은 변형입니다un2up, Python을 사용하여pyPdf도서관. 버전 1.13 이상이 필요합니다(이전 버전은 스케일링을 지원하지 않음). 검증되지 않은.

#!/usr/bin/env python
import copy, math, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for p in [input.getPage(i) for i in range(0,input.getNumPages())]:
    p.scaleBy(math.sqrt(2))
    q = copy.copy(p)
    (w, h) = p.mediaBox.upperRight
    p.mediaBox.upperRight = (w/2, h)
    q.mediaBox.upperLeft = (w/2, h)
    output.addPage(p)
    output.addPage(q)
output.write(sys.stdout)

답변2

답변3

gs답변을 기반으로 한 솔루션을 사용하여 원래 문제를 해결했습니다.superuser.com에 대한 이 질문, 현재 질문에 대한 @Stone의 답변에 언급된 다른 Q/A의 링크에서 찾을 수 있습니다.

이를 수행할 수 있는 한 가지 방법은 다음과 같습니다. 스크립트에 넣으세요.

#!/bin/bash
################################################################
# Make two portrait A4 sheets out of one landscape A4 sheet, by
# splitting and resizing adequately
################################################################
# solution based on: 
# https://superuser.com/questions/235074/freeware-to-split-a-pdfs-pages-down-the-middle/235401#235401
################################################################
IN=$1
OUT=$2
TMPLEFT=/tmp/left.pdf
TMPRIGHT=/tmp/right.pdf

# left side
gs -o $TMPLEFT -sDEVICE=pdfwrite -g5955x8420 -c "<</PageOffset [0 0]>>" setpagedevice -f $IN
# right side
gs -o $TMPRIGHT -sDEVICE=pdfwrite -g5955x8420 -c "<</PageOffset [-595.5 0]>>" setpagedevice -f $IN
# join
pdfunite $TMPLEFT $TMPRIGHT $OUT

나는 여전히 더 쉬운 방법이 있어야 한다고 생각하지만 이 방법은 효과가 있고 ImageMagick convert단점을 피합니다.

답변4

일부 11x17~8.5x11 페이지의 경우 Adobe Acrobat Pro 도구를 사용하는 것이 쉽습니다.

열려 있는원본파일,
놓다풍경보기로.
구하다파일에 다른 이름을 사용하세요(예: "Original v2p1.pdf")
선택하다고급 탭
선택하다"인쇄제작"
선택하다"자르기 페이지"
작물오른쪽이나 왼쪽에서 반 페이지를 시작합니다.
구하다파일("원본 v2p1.pdf"). 이제 1페이지가 있습니다.
열려 있는"Original.pdf, 원본.
구하다다른 연관된 이름을 가진 파일(2페이지는 "Original v2p2.pdf"일 수 있음)
작물반대편에서 절반.
구하다파일("원본 v2p2.pdf"). 이제 2페이지가 생겼습니다.

관련 정보