admin-dashboard-backend/groupTasks/groups/shx-order/discounts.py

62 lines
1.8 KiB
Python

import subprocess
import PyPDF2
import sys
def createPdf(sourceHtml, outputPdf):
command = [
"google-chrome-stable",
"--headless",
"--no-sandbox",
"--disable-gpu",
"--debug=1",
"--print-to-pdf=" + outputPdf,
"--run-all-compositor-stages-before-draw",
"--virtual-time-budget=10000",
sourceHtml,
]
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
_, stderr = process.communicate()
if process.returncode != 0:
print("Error creating PDF")
print(stderr)
sys.exit(1)
print("PDF created successfully")
def merge_pdfs(pdf1_path, pdf2_path, output_path):
# Öffne die beiden PDF-Dateien
with open(pdf1_path, 'rb') as file1, open(pdf2_path, 'rb') as file2:
# Erstelle PDF-Reader-Objekte
pdf1_reader = PyPDF2.PdfReader(file1)
pdf2_reader = PyPDF2.PdfReader(file2)
# Erstelle PDF-Writer-Objekt
pdf_writer = PyPDF2.PdfWriter()
# Füge Seiten aus der ersten PDF hinzu
for page_num in range(len(pdf1_reader.pages)):
page = pdf1_reader.pages[page_num]
pdf_writer.add_page(page)
# Füge Seiten aus der zweiten PDF hinzu
for page_num in range(len(pdf2_reader.pages)):
page = pdf2_reader.pages[page_num]
pdf_writer.add_page(page)
# Speichere die kombinierte PDF
with open(output_path, 'wb') as output_file:
pdf_writer.write(output_file)
if __name__ == "__main__":
createPdf("oldFiles/frontPage.html", "finalFrontPage.pdf")
createPdf("oldFiles/backPage.html", "finalBackPage.pdf")
merge_pdfs('finalFrontPage.pdf', 'finalBackPage.pdf', 'combined.pdf')
# delete temporary files
subprocess.run(["rm", "finalFrontPage.pdf"])
subprocess.run(["rm", "finalBackPage.pdf"])