- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于问题的答案:如何使用 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/
我需要将文本放在 中在一个 Div 中,在另一个 Div 中,在另一个 Div 中。所以这是它的样子: #document Change PIN
奇怪的事情发生了。 我有一个基本的 html 代码。 html,头部, body 。(因为我收到了一些反对票,这里是完整的代码) 这是我的CSS: html { backgroun
我正在尝试将 Assets 中的一组图像加载到 UICollectionview 中存在的 ImageView 中,但每当我运行应用程序时它都会显示错误。而且也没有显示图像。 我在ViewDidLoa
我需要根据带参数的 perl 脚本的输出更改一些环境变量。在 tcsh 中,我可以使用别名命令来评估 perl 脚本的输出。 tcsh: alias setsdk 'eval `/localhome/
我使用 Windows 身份验证创建了一个新的 Blazor(服务器端)应用程序,并使用 IIS Express 运行它。它将显示一条消息“Hello Domain\User!”来自右上方的以下 Ra
这是我的方法 void login(Event event);我想知道 Kotlin 中应该如何 最佳答案 在 Kotlin 中通配符运算符是 * 。它指示编译器它是未知的,但一旦知道,就不会有其他类
看下面的代码 for story in book if story.title.length < 140 - var story
我正在尝试用 C 语言学习字符串处理。我写了一个程序,它存储了一些音乐轨道,并帮助用户检查他/她想到的歌曲是否存在于存储的轨道中。这是通过要求用户输入一串字符来完成的。然后程序使用 strstr()
我正在学习 sscanf 并遇到如下格式字符串: sscanf("%[^:]:%[^*=]%*[*=]%n",a,b,&c); 我理解 %[^:] 部分意味着扫描直到遇到 ':' 并将其分配给 a。:
def char_check(x,y): if (str(x) in y or x.find(y) > -1) or (str(y) in x or y.find(x) > -1):
我有一种情况,我想将文本文件中的现有行包含到一个新 block 中。 line 1 line 2 line in block line 3 line 4 应该变成 line 1 line 2 line
我有一个新项目,我正在尝试设置 Django 调试工具栏。首先,我尝试了快速设置,它只涉及将 'debug_toolbar' 添加到我的已安装应用程序列表中。有了这个,当我转到我的根 URL 时,调试
在 Matlab 中,如果我有一个函数 f,例如签名是 f(a,b,c),我可以创建一个只有一个变量 b 的函数,它将使用固定的 a=a1 和 c=c1 调用 f: g = @(b) f(a1, b,
我不明白为什么 ForEach 中的元素之间有多余的垂直间距在 VStack 里面在 ScrollView 里面使用 GeometryReader 时渲染自定义水平分隔线。 Scrol
我想知道,是否有关于何时使用 session 和 cookie 的指南或最佳实践? 什么应该和什么不应该存储在其中?谢谢! 最佳答案 这些文档很好地了解了 session cookie 的安全问题以及
我在 scipy/numpy 中有一个 Nx3 矩阵,我想用它制作一个 3 维条形图,其中 X 轴和 Y 轴由矩阵的第一列和第二列的值、高度确定每个条形的 是矩阵中的第三列,条形的数量由 N 确定。
假设我用两种不同的方式初始化信号量 sem_init(&randomsem,0,1) sem_init(&randomsem,0,0) 现在, sem_wait(&randomsem) 在这两种情况下
我怀疑该值如何存储在“WORD”中,因为 PStr 包含实际输出。? 既然Pstr中存储的是小写到大写的字母,那么在printf中如何将其给出为“WORD”。有人可以吗?解释一下? #include
我有一个 3x3 数组: var my_array = [[0,1,2], [3,4,5], [6,7,8]]; 并想获得它的第一个 2
我意识到您可以使用如下方式轻松检查焦点: var hasFocus = true; $(window).blur(function(){ hasFocus = false; }); $(win
我是一名优秀的程序员,十分优秀!