gpt4 book ai didi

java - iText7 将 SVG 添加到 PdfDocument 中以及可能出现的问题

转载 作者:行者123 更新时间:2023-11-30 06:04:13 25 4
gpt4 key购买 nike

关于问题的答案:如何使用 iText7 将 SVG 添加到 PDF

这是一个链接click here!

当我使用示例java代码时,出现错误。

错误: com.itextpdf.styledxmlparser.node.impl.jsoup.JsoupXmlParser - 无法映射节点类型:类 com.itextpdf.styledxmlparser.jsoup.nodes.XmlDeclaration

导致该错误的原因可能是什么?如何避免?

依赖关系:

dependencies {
compile 'com.itextpdf:kernel:7.1.2'
compile 'com.itextpdf:io:7.1.2'
compile 'com.itextpdf:layout:7.1.2'
compile 'com.itextpdf:forms:7.1.2'
compile 'com.itextpdf:pdfa:7.1.2'
compile 'com.itextpdf:pdftest:7.1.2'
compile 'com.itextpdf:svg:7.1.2'
//-- pdfHTML --
compile 'com.itextpdf:html2pdf:1.0.0'
//-- Kerning --
compile 'com.itextpdf:typography:1.0.0'
//-- iText 7 License Key Library --
compile 'com.itextpdf:itext-licensekey:2.0.3'
}

示例java代码:

PdfDocument doc = new PdfDocument(
new PdfWriter(new FileOutputStream(new File(".../test.pdf")),new WriterProperties().setCompressionLevel(0)));
doc.addNewPage();

URL svgUrl = null;
svgPath = ".../test.svg";

try{
svgUrl = new URL(svgPath);
}
catch(MalformedURLException mue){...}

if(svgUrl == null){
try{
svgUrl = new File(svgPath).toURI().toURL();
}
catch(Throwable th){...}
}

SvgConverter.drawOnDocument(svgUrl.openStream(), doc, 1);
doc.close();

SVG 代码:

<svg x="0px" y="0px" width="1112.53" height="793.73" preserveAspectRatio="xMidYMid" font-size="0" id="vda25_1" xml="http://www.w3.org/XML/1998/namespace" enable-background="new 0 0 300 841.9" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xml="http://www.w3.org/XML/1998/namespace" version="1.1" >
<g>
<rect x="0" y="0" width="1112.53" height="793.73" fill="#FDFDFD" />
<line x1="52.54" y1="318.99" x2="1095.68" y2="318.99" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="336" x2="1095.68" y2="336" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="356.79" x2="1095.68" y2="356.79" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="445.61" x2="1095.68" y2="445.61" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="467.53" x2="1095.68" y2="467.53" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="504.19" x2="1095.68" y2="504.19" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="1095.68" y1="36.66" x2="1095.68" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="740.41" y1="336.38" x2="740.41" y2="445.61" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="396.47" y1="336.38" x2="396.47" y2="445.61" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="37.8" y1="157" x2="37.8" y2="650" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" noprint="true" />
<line x1="915.02" y1="53.67" x2="952.82" y2="53.67" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="377.57" x2="1095.68" y2="377.57" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="196.16" x2="1095.68" y2="196.16" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="177.26" x2="1095.68" y2="177.26" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="158.36" x2="1095.68" y2="158.36" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="400.25" x2="1095.68" y2="400.25" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="422.93" x2="1095.68" y2="422.93" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="726.42" x2="1095.68" y2="726.42" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.16" y1="36.66" x2="1095.68" y2="36.66" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="528" x2="1095.68" y2="528" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="467.9" y1="505.32" x2="467.9" y2="528" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="272.13" y1="546.9" x2="1095.68" y2="546.9" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="272.13" y1="528" x2="272.13" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="345.07" y1="565.79" x2="1095.68" y2="565.79" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="345.07" y1="565.79" x2="345.07" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="418.01" y1="565.79" x2="418.01" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="489.45" y1="565.79" x2="489.45" y2="685.98" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="888.19" y1="565.79" x2="888.19" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="907.08" y1="565.79" x2="907.08" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="925.98" y1="565.79" x2="925.98" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="944.88" y1="565.79" x2="944.88" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="963.78" y1="565.79" x2="963.78" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="982.68" y1="565.79" x2="982.68" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="1001.57" y1="565.79" x2="1001.57" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="1020.47" y1="565.79" x2="1020.47" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="1039.37" y1="565.79" x2="1039.37" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="1058.27" y1="565.79" x2="1058.27" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="1077.16" y1="565.79" x2="1077.16" y2="662.17" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="750.23" x2="1095.68" y2="750.23" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.54" y1="769.13" x2="1095.68" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="1039.37" y1="751.37" x2="1039.37" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="52.16" y1="36.66" x2="52.16" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="982.68" y1="751.37" x2="982.68" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="925.98" y1="751.37" x2="925.98" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="869.29" y1="751.37" x2="869.29" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="812.6" y1="751.37" x2="812.6" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="755.9" y1="751.37" x2="755.9" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="699.21" y1="751.37" x2="699.21" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="642.52" y1="751.37" x2="642.52" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="585.83" y1="751.37" x2="585.83" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="529.13" y1="751.37" x2="529.13" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="472.44" y1="751.37" x2="472.44" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="415.75" y1="751.37" x2="415.75" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="359.05" y1="751.37" x2="359.05" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="302.36" y1="751.37" x2="302.36" y2="769.13" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="574.11" y1="726.42" x2="574.11" y2="750.23" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="253.23" y1="663.31" x2="253.23" y2="685.98" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="377.95" y1="663.31" x2="377.95" y2="685.98" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="714.33" y1="505.32" x2="714.33" y2="528" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />
<line x1="778.58" y1="726.42" x2="778.58" y2="750.23" stroke="black" stroke-width="0.4802" stroke-linecap="square" stroke-miterlimit="10" />

<text x="1063" y="657.5" id="beschicht_nok" width="10.16003" type="radiobutton" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="1082" y="657.5" id="sonst_nok" width="10" type="radiobutton" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="199.2748" y="679" id="a_abweichnr" width="49.95519" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="313.421" y="679" id="g_bis" width="60.52899" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="440.1742" y="679" id="anz_teile" width="45.27579" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="636.9943" y="679" id="n_dat" width="77.11573" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="954.0756" y="679" id="a_ls_nr" width="86.92444" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="1046" y="679" id="a_ls_dat" width="45.68005" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="94.2564" y="701" id="a_zch" width="138.3436" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text text-anchor="inherit" x="113" y="719.5" id="a_abt_name" width="118.73" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="283.6996" y="701.5" id="a_abt_tel" width="807.9805" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="303.896" y="719.5" id="a_abt_fax" width="182.104" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="491" y="719.5" id="a_abt_mail" width="600.6801" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="124.3619" y="742" id="bemerkung_a" width="445.7481" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="619.9204" y="742" id="a_dat_unter" width="154.6596" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
<text x="850.0846" y="742" id="a_name_unter" width="241.5955" type="text" style="font-family:Arial Unicode MS;font-size:12px;" fill="blue" />
</g>
</svg>

最佳答案

这是一个错误,似乎已在最新的开发版本中修复。虽然我们今天发布了,但发布版本是基于两周前交付的版本。我在最新的快照版本(7.1.3-SNAPSHOT)上尝试了你的 svg,它输出正确。

您可以在 GitHub 上找到最新版本:https://github.com/itext/i7j-svg但你必须从源头开始构建。如果您不想这样做,您可以将我们的工件添加到 pom 文件中的存储库元素中,并提取最新的快照。

<repository>
<id>snapshots</id>
<name>iText Repository-snapshots</name>
<url>https://repo.itextsupport.com/snapshot</url>
</repository>

具有以下工件:

<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>svg</artifactId>
<version>7.1.3-SNAPSHOT</version>
</dependency>

关于java - iText7 将 SVG 添加到 PdfDocument 中以及可能出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50062460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com