| 1234567891011121314151617181920212223242526272829 |
- import io
- import cairosvg
- from PyPDF2 import PdfFileWriter, PdfFileReader
- import xml.etree.ElementTree as ET
- from xml2svg import XML2SVG
- import svgwrite
- svg_path = 'image.svg'
- png_path = 'image.png'
- pdf_path = 'image.pdf'
- pdf_writer = PdfFileWriter()
- _unit = svgwrite.Unit('mm')
- svg_page = svgwrite.Drawing(size=(_unit(50), _unit(50)))
- tree = ET.parse(svg_path)
- et_tag = ET.fromstring(tree)
- svg_tag = XML2SVG(et_tag)
- svg_page.add(svg_tag)
- pdf_writer.addPage(PdfFileReader(io.BytesIO(cairosvg.svg2pdf(bytestring=svg_page.tostring()))).getPage(0))
- with open('./' + pdf_path, 'x+b') as out:
- pdf_writer.write(out)
|