import tempfile import svgwrite import cairosvg from PyPDF2 import PdfFileWriter, PdfFileReader import io draft_pdf_fd, draft_pdf_path = tempfile.mkstemp(suffix='.pdf') print(draft_pdf_path) pdf_writer = PdfFileWriter() unit = svgwrite.Unit("mm") svg_page = svgwrite.Drawing(size=(unit(297), unit(210))) _text = svg_page.text('123123', (unit(10), unit(20))) svg_page.add(_text) pdf_writer.addPage(PdfFileReader(io.BytesIO(cairosvg.svg2pdf(bytestring=svg_page.tostring()))).getPage(0)) with open(draft_pdf_path, 'ab') as out: pdf_writer.write(out)