Мне удалось объединить PDF-файлы с помощью PyPDF, и все работает отлично. Теперь я хотел бы объединить pfd с использованием pdfbox, используя подпроцесс в python.
Это то, что я получил, но он работает не так, как ожидалось.
import subprocess
from subprocess import Popen
def merger(pdfList):
try:
output = "output.pdf"
result = Popen(["java", "-jar", "pdfbox-app-2.0.19.jar", "PDFMerger", "\
{}".format(pdfList), "{}".format(output)], stdout=subprocess.PIPE, \
stderr=subprocess.PIPE)
result_subprocess = result.communicate()
if result.returncode != 0 or len(result_subprocess[1])>0:
raise Exception(result_subprocess[1].decode())
else:
return True
except Exception as e:
print("Exception:",str(e))
if __name__ == '__main__':
pdfList = ["33.pdf","4.pdf"]
merger(pageList)
Это исключение, которое Я столкнулся.
('Exception:', 'Usage: java -jar pdfbox-app-x.y.z.jar PDFMerger <inputfiles 2..n> <outputfile>\n\nOptions:\n <inputfiles 2..n> : 2 or more source PDF documents to merge\n <outputfile>