Convert SVG to PDF by using iText in Java(ZT)

简介:

As promised here is a very simple PDF that contains a SVG-based image.

The SVG contains the following data:

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 width="300" height="300" version="1.1"
xmlns
="http://www.w3.org/2000/svg">
 
<rect x="40" y="20" rx="20" ry="20" width="250" height="250"
 style
="fill:red;stroke:black;stroke-width:1;" />
svg>

Here is the Java code:

public static void main(String[] args) {

       Document document
= new Document();
       
try {
           PdfWriter writer
= PdfWriter.getInstance(document,
                   
new FileOutputStream("svg.pdf"));
           document.open();
           document.add(
new Paragraph("SVG Example"));

           
int width = 250;
           
int height = 250;
           PdfContentByte cb
= writer.getDirectContent();
           PdfTemplate template
= cb.createTemplate(width,height);        
           Graphics2D g2
= template.createGraphics(width,height);          
           
           PrintTranscoder prm
= new PrintTranscoder();
           TranscoderInput ti
= new TranscoderInput("file:///c:\\java\\svg.xml");
           prm.transcode(ti,
null);
         
           PageFormat pg
= new PageFormat();
           Paper pp
= new Paper();
           pp.setSize(width, height);
           pp.setImageableArea(
0, 0, width, height);
           pg.setPaper(pp);
           prm.print(g2, pg,
0);
           g2.dispose();

           ImgTemplate img
= new ImgTemplate(template);          
           document.add(img);
       
       }
catch (DocumentException e) {
           System.err.println(e);
       }
catch (IOException e) {
           System.err.println(e);
       }
       document.close();

     }


Keep in mind that you will need the Batik and Xerces libraries in addition to the iTExt jar file.


http://xml.apache.org/batik/
http://www.lowagie.com/iText/
http://xml.apache.org/xerces2-j/

From:http://jroller.com/page/ghillert?entry=svg_and_pdf_example

分类: 4.其他技术区,iTextSharp(iText#)

 

 

本文转自RubyPdf 的中文博客博客园博客,原文链接:http://www.cnblogs.com/hardrock/archive/2006/08/09/472143.html,如需转载请自行联系原作者

相关文章
|
7月前
|
Java
java Itext创建pdf
java Itext创建pdf
67 0
|
6月前
|
IDE Java 编译器
使用Java分割PDF文件
使用Java分割PDF文件
|
6月前
|
Java
java处理pdf代码
java处理pdf代码
51 0
|
2月前
|
资源调度 前端开发 JavaScript
安利一款基于canvas/svg的富文本编辑器-支持在线导出PDF、DOCX
高性能:利用Canvas和SVG进行图形和矢量图形的渲染,提供高性能的绘图能力。 可扩展性:Canvas-Editor是一个开源项目,支持通过插件机制扩展编辑器的功能,如DOCX、PDF导出、表格分页等。 丰富的文本编辑功能:支持多种文本编辑操作,如插入表格、分页、性能优化等。
192 0
|
5月前
|
JavaScript Java
Java 将Markdown文件转换为Word和PDF文档
【7月更文挑战第5天】Java中使用`Spire.Doc for Java`库可方便地将Markdown转换为Word或PDF。基本步骤包括导入模块,创建`Document`对象,加载Markdown文件,然后保存为目标格式(`.docx`或`.pdf`)。若遇到`Invalid UTF-8 stream`错误,需确保Markdown文件是UTF-8无BOM编码。页面设置可通过`PageSetup`类调整。注意,实际应用会依据具体需求和环境有所调整。
295 6
|
6月前
|
Java
Java编程思想(面向对象)第四版PDF分享
探索《Java编程思想》第四版,理解Java不仅是特性集合,更是解决问题的强大工具。本书深入设计层面,构建编程思维模型,助你逐步精通Java。[阅读更多](https://zhangfeidezhu.com/?p=355) ![Java编程思想](https://ucc.alicdn.com/pic/developer-ecology/nrw3f3oqlpmag_c8ff959a921545f1bbabcefd37f029cf.png)
60 1
Java编程思想(面向对象)第四版PDF分享
|
4月前
|
XML 编解码 前端开发
wkhtmltopdf 代替 itext 将 url 转成 pdf
wkhtmltopdf 代替 itext 将 url 转成 pdf
53 0
|
5月前
|
Java API Apache
如何在Java中实现PDF生成
如何在Java中实现PDF生成
|
6月前
|
XML Java 数据格式
Java用xpdf库获取pdf文件的指定范围文本内容
Java用xpdf库获取pdf文件的指定范围文本内容
92 1
|
6月前
|
Java 数据安全/隐私保护
Java使用PDFBox开发包实现对PDF文档内容编辑与保存
Java使用PDFBox开发包实现对PDF文档内容编辑与保存
250 7