CONNECTED Conference 2023 - Aufzeichnungen jetzt hier verfügbar +++                     

Suche

über alle News und Events

 

Alle News

 

Messaging mit dem Service Bus ermöglicht die...

Weiterlesen

Sebastian Meyer, Microsoft & SAP...

Weiterlesen

Für Entwickler, Architekten, Projektleiter und...

Weiterlesen

In der Welt der Softwareentwicklung ist die...

Weiterlesen

QUIBIQ spendet für den guten Zweck – und für...

Weiterlesen

Eine bestimmte Antwort auf einen HTTP Request zu...

Weiterlesen

In einer Welt, die von stetigem Wandel geprägt...

Weiterlesen

In einem unserer Kundenprojekte, war das Ziel eine...

Weiterlesen

QUIBIQ Hamburg wird mit dem Hamburger...

Weiterlesen

Zwei Tage lang wurde vom 14.-15.11 wieder das...

Weiterlesen

How-To: Simply create a PDF from HTML in Azure

Um HTML zum PDF zu konvertieren, werden wir wkhtmltopdf (ein open source (LGPLv3) command line tool - wkhtmltopdf.org) benutzen.

Der tatsächliche Code könnte nicht einfacher sein:

pdf=pdfkit.from_string(data)

Hier ist data der zu konvertierende Html-String und pdfkit ein Python Wrapper für wkhtmltopdf - https://pypi.org/project/pdfkit
Damit wir es aber benutzen können, fügen wir es einer WebApp hinzu, die in einem Container deployed wird.

App Code

fromflaskimportrequest, Response
importpdfkit
importuuid
@app.route('/', methods= ['POST'])
defconvert():
    try:
        data=request.data
       
        out_filename=str(uuid.uuid4()) +'.pdf'
        pdf=pdfkit.from_string(data.decode('utf-8'), configuration=config)
        returnResponse(pdf_str, status=200, mimetype='application/pdf', headers={"Content-Disposition": "attachment; filename="+out_filename})
    exceptExceptionase:
        returnResponse(e, status=500)

Hier wird ein HTML String gepostet und ein PDF im Response zurückgegeben.
 

Dockerfile

# For more information, please refer to aka.ms/vscode-docker-python
FROMsurnet/alpine-python-wkhtmltopdf:3.11.4-0.12.6-full
EXPOSE5000
# Keeps Python from generating .pyc files in the container
ENVPYTHONDONTWRITEBYTECODE=1
# Turns off buffering for easier container logging
ENVPYTHONUNBUFFERED=1
# Install pip requirements
COPYrequirements.txt.
RUNpython-mpipinstall-rrequirements.txt
WORKDIR/app
COPY./app
COPY--from=surnet/alpine-python-wkhtmltopdf:3.11.4-0.12.6-full/bin/wkhtmltopdf/bin/libwkhtmltox.so/bin/
# Serve the app on port 5000
CMD["gunicorn","--bind","0.0.0.0:5000","app:app"]

Ein paar Punkte gilt es hier zu beachten: alpine Images sind die kleinstmöglichen Images, die man herleiten kann. Das alpine-python-wkhtmltopdf Image ist ein Alpine Image, das schon die wkhtmltopdf beinhaltet. Nur weil das Tool im Image ist, bedeutet das nicht, das wir es vom Code abrufen können. Wir müssen es deswegen zuerst in das bin Verzeichnis kopieren. Am Ende wird die App mit Gunicorn bereitgestellt: 'Green Unicorn' ist ein Python WSGI HTTP-Server für UNIX. - https://gunicorn.org/


Requirements File

Die requirements.txt Datei enthält die notwendigen Libraries, die installiert werden müssen.

Flask>=1.1
pdfkit
gunicorn
azure.storage.blob

 

Ihre Kontaktmöglichkeiten

Sie haben eine konkrete Frage an uns


 

Bleiben Sie immer auf dem Laufenden


 

Mit meinem "Ja" erkläre ich mich mit der Verarbeitung meiner Daten zur Zusendung von Informationen einverstanden. Ich weiß, dass ich diese Erklärung jederzeit durch einfache Mitteilung widerrufen kann. Bei einem Nein an dieser Stelle erhalte ich zukünftig keine Informationen mehr.

© QUIBIQ GmbH · Impressum · Datenschutz