test_svg_pdf_font.py 946 B

1234567891011121314151617181920212223242526272829303132333435
  1. import os
  2. import tempfile
  3. from PyPDF2 import PdfFileWriter, PdfFileReader
  4. from datetime import datetime, timedelta
  5. import svgwrite
  6. import cairosvg
  7. import xml.etree.ElementTree as ET
  8. from io import BytesIO, StringIO
  9. import time
  10. # 初始化文件路径, pdf生成
  11. file_mane = '/Users/jack/Desktop/temp_code/svg_pdf/' + str(int(time.time())) + '.pdf'
  12. unit = svgwrite.Unit("mm")
  13. fp = BytesIO()
  14. pdf_writer = PdfFileWriter()
  15. width = 20
  16. height = 10
  17. string = '佛山智珅织造有限公司'
  18. svg_page = svgwrite.Drawing(size=(unit(width), unit(height)))
  19. text_style = 'fill:black;font-family:{0};font-size:{1}pt;'.format(
  20. 'FZLanTingHei\-R\-GBK', 5)
  21. _text = svg_page.text(string, (unit(5), unit(5)),
  22. fill="black", style=text_style)
  23. svg_page.add(_text)
  24. pdf_writer.addPage(PdfFileReader(
  25. BytesIO(cairosvg.svg2pdf(bytestring=svg_page.tostring()))).getPage(0))
  26. with open(file_mane, 'ab') as out:
  27. pdf_writer.write(out)