import os import pdfkit import qrcode import subprocess import PyPDF2 def create_pdf_from_html(html_file, pdf_file): pdfkit.from_file(html_file, pdf_file, options={"page-size": "A5", "orientation": "Landscape", "enable-local-file-access": ""}) def list_files_in_directory(directory): files = os.listdir(directory) for file in files: print(file) def create_qrcode(): data = "https://www.example.com" # Generate QR code qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data(data) qr.make(fit=True) # Create an image from the QR Code instance img = qr.make_image(fill_color="black", back_color="#fdf8ef") # Save image to a file img.save("./example_qr.png") # Display the generated QR code image img.show() def test(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) stdout, stderr = process.communicate() print("STDOUT:", stdout) print("STDERR:", stderr) 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__": directory = "oldFiles/" # Aktuelles Verzeichnis list_files_in_directory(directory) create_pdf_from_html("oldFiles/frontPage.html", "outputFront.pdf") create_pdf_from_html("oldFiles/backPage.html", "outputBack.pdf") create_pdf_from_html("oldFiles/backPage3.html", "outputBack3.pdf") create_qrcode() test("oldFiles/frontPage.html", "finalFrontPage.pdf") test("oldFiles/backPage.html", "finalBackPage.pdf") merge_pdfs('finalFrontPage.pdf', 'finalBackPage.pdf', 'combined.pdf')