単一ページの水平 PDF をサイズ変更された二重ページ垂直 PDF に変換

単一ページの水平 PDF をサイズ変更された二重ページ垂直 PDF に変換

convert次の操作に問題があります。

私は幾何学が水平A4用紙に対応する単一ページのPDFファイルをたくさん持っています。実際のコンテンツは視覚的に2ページに分かれています。これらの各ファイルを使って私が試したことは基本的に次のようになります。 A3でサイズを変更し、実際に中央から縦に分割して2ページを取得し(成功しませんでしたconvert)、crop2ページに再組み立てします。 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)

おすすめ記事