svglib
및 패키지를 사용하여 Python에서 SVG 파일을 PDF로 변환하려고합니다 reportlab
. SVG 파일입니다.
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="blue" />
</svg>
이것은 내가 변환하는 데 사용한 코드입니다( svglib
웹 페이지에서 가져옴).
>>> from svglib.svglib import svg2rlg
>>> from reportlab.graphics import renderPDF
>>> drawing = svg2rlg("file.svg")
>>> renderPDF.drawToFile(drawing, "file.pdf")
코드는 오류나 예외 없이 잘 실행되지만 file.pdf
결과는 빈 파일입니다. 즉, 이 PDF 파일을 열면 아무것도 없는 흰색 배경 페이지만 보입니다.
내가 어디서 잘못됐나요?
답변1
마지막 줄을 수행하는 경우:
renderPDF.drawToFile(drawing, "file.pdf", autoSize=0)
페이지에 멋진 파란색 원이 표시됩니다. 일반 매개변수 값을 사용하면 PDF가 플롯과 동일한 크기가 됩니다 autoSize
.1
문제는 svg 파일에 크기 매개변수가 없다는 것입니다. 예를 들어 svg
시작 태그를 다음과 같이 변경할 수 있습니다.
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1000px" width="1000px">
사용하지 않고도 비슷한(눈에 보이는) 결과를 얻을 수 있습니다.autoSize=0