2

2 つの PDF ファイルのページを、1 ページの 1 つの PDF に結合しようとしています。そこで、PyPDF2 を使用する以下のコードを試しました。

from PyPDF2 import PdfFileReader,PdfFileWriter
import sys
f = sys.argv[1]
k = sys.argv[2]
print f,k
file1 = PdfFileReader(file(f, "rb"))
file2 = PdfFileReader(file(k, "rb"))
output = PdfFileWriter()
page = file1.getPage(0)
page.mergePage(file2.getPage(0))
output.addPage(page)
outputStream = file("join.pdf", "wb")
output.write(outputStream)
outputStream.close()

ファイル1からページ1の内容を含む単一のファイルと単一のページを生成しますが、ファイル2のページ1からのデータは見つかりません。合併しなかったようです。

4

2 に答える 2

5

まったく同じコードを使用すると、2 つを 1 つのページにPDFマージPDFして、2 つ目のページが最初のページと重なっています。詳細については、このリンクを参照してください。

そして、代わりにこのPython Documentationに従ってfile()使用する方が良いので、そうしました。open()

また、コードにわずかな変更を加えましたが、私のマシンでも動作は同じで正しいです。で使用Ubuntu 16.04していpython 2.7ます。

コードは次のとおりです。

from PyPDF2 import PdfFileReader,PdfFileWriter
import sys

f = sys.argv[1]
k = sys.argv[2]
print f, k
file1 = PdfFileReader(open(f, "rb"))
file2 = PdfFileReader(open(k, "rb"))
output = PdfFileWriter()
page = file1.getPage(0)
page.mergePage(file2.getPage(0))
output.addPage(page)

with open("join.pdf", "wb") as outputStream:
    output.write(outputStream)

これが役立つことを願っています。


アップデート:

これは私のために働いていて、2つのpdfのページを単一のページとしてマージしているコードです。

from pyPdf import PdfFileWriter, PdfFileReader
from pdfnup import generateNup

initial_output = PdfFileWriter()
input1 = PdfFileReader(open("landscape1.pdf", "rb"))
input2 = PdfFileReader(open("landscape2.pdf", "rb"))

initial_output.addPage(input1.getPage(0))
initial_output.addPage(input2.getPage(0))

# creates a new pdf file with required pages as separate pages.
initial_output.write(file("final.pdf", "wb"))

# merges newly created pdf file pages as one.
generateNup("final.pdf", 2, "intermediate.pdf")

# overwrite and rotates the final.pdf
final_output = PdfFileWriter()
final_output.addPage(PdfFileReader(open("intermediate.pdf", "rb")).getPage(0).rotateClockwise(90)) 
final_output.write(open("final.pdf", "wb"))

新しいコードを追加しましたが、最終的な pdf も回転しています。必要な出力PDFはfinal.pdf

そして、これがファイル用の私のドライブへのGoogleドライブのリンクです。また、同じファイルを使用したい場合は、上記のドライブ リンクでも見つけることができるように、私のシステムとの互換性のために にPDFわずかな変更を加えました。pdfnup.pyImmutableset

于 2016-12-20T04:22:10.407 に答える