设为首页 加入收藏

TOP

xml解析生成pdf,word文档(二)
2012-11-30 12:26:45 来源: 作者: 【 】 浏览:1527
Tags:xml 解析 生成 pdf word 文档

 

    {

    Element contentElm = (Element)contentNode.next();

    if ("pargh".equals(contentElm.getName()))

    {

    String p1 = contentElm.elementText("content");

    //                            elmContent.setAttributeValue(title, )

    pdfDocument.addText(p1, font);

    }

    if ("image".equals(contentElm.getName()))

    {

    String imagePath = contentElm

    .elementText("imagepath");

    pdfDocument.addImage(imagePath);

    }

    if ("items".equals(contentElm.getName()))

    {

    List itemNodes = contentElm.elements();

    List listValues = new ArrayList();

    for (Iterator itemNode = itemNodes.iterator(); itemNode.hasNext();)

    {

    Element itemContent = (Element)itemNode.next();

    String itemData = (String)itemContent.getData();

    listValues.add(itemData);

    }

    pdfDocument.addItem(listValues, font);

    }

    if ("table".equals(contentElm.getName()))

    {

    List tableValues = new ArrayList();

    int tableCells = Integer.parseInt(contentElm

    .attributeValue("cell"));

    int tableRows = Integer.parseInt(contentElm

    .attributeValue("row"));

    List trNodes = contentElm.elements();

    for (Iterator trNode = trNodes.iterator(); trNode.hasNext();)

    {

    Element trContent=(Element)trNode.next();

    List tdNodes = trContent.elements();

    for (Iterator tdNode = tdNodes.iterator(); tdNode

    .hasNext();)

    {

    Element tdContent=(Element)tdNode.next();

    String tdData=(String)tdContent.getData();

    tableValues.add(tdData);

    }

    }

    pdfDocument.addTable(tableValues, tableRows, tableCells,font);

    }

    }

    }

    catch (com.lowagie.text.DocumentException e)

    {

    e.printStackTrace();

    }

    catch (IOException e)

    {

    e.printStackTrace();

    }

    finally

    {

    pdfDocument.closePdf();

    }

    }

    }

    }

    }

    package com.isoftstone.parse;

    import java.io.File;

    import java.io.IOException;

    import java.util.ArrayList;

    import java.util.Iterator;

    import java.util.List;

    import org.dom4j.Document;

    import org.dom4j.DocumentException;

    import org.dom4j.Element;

    import org.dom4j.io.SAXReader;

    import com.isoftstone.impl.doc.CreatePdfDocument;

    import com.lowagie.text.Font;

    import com.lowagie.text.pdf.BaseFont;

    public class Dom4jToPdf

    {

    @SuppressWarnings( { "unchecked" })

    public static void main(String args[]) throws DocumentException

    {

    System.getProperties();

    SAXReader reader = new SAXReader();

    String filePath="d:/document.xml";

    Document document = reader.read(new File(filePath));

    Element rootElm = document.getRootElement();

    List documentNodes = rootElm.elements();

    for (Iterator documentNode = documentNodes.iterator(); documentNode.hasNext();)

    {

    Element documentElm = (Element)documentNode.next();

    CreatePdfDocument pdfDocument = new CreatePdfDocument();

    String fileSrc = "e:\\testwangjin.pdf";

    pdfDocument.initPdfDocument(fileSrc);

    pdfDocument.openPdf();

    if ("station".equals(documentElm.getName()))

    {

    try

    {

    String title = documentElm.attributeValue("title");

    BaseFont bfChinese = BaseFont.createFont(

    "C:\\WINDOWS\\Fonts\\SIMHEI.TTF", BaseFont.IDENTITY_H,

    BaseFont.EMBEDDED);

    Font font = new Font(bfChinese, 12, Font.NORMAL);

    pdfDocument.addText(title, font);

    List contentNodes = documentElm.elements();

    for (Iterator contentNode = contentNodes.iterator(); contentNode.hasNext();)

    {

    Element contentElm = (Element)contentNode.next();

    if ("pargh".equals(contentElm.getName()))

    {

    String p1 = contentElm.elementText("content");

    //                            elmContent.setAttributeValue(title, )

    pdfDocument.addText(p1, font);

    }

    if ("image".equals(contentElm.getName()))

    {

    String imagePath = contentElm

    .elementText("imagepath");

    pdfDocument.addImage(imagePath);

    }

    if ("items".equals(contentElm.getName()))

    {

    List itemNodes = contentElm.elements();

    List listValues = new ArrayList();

    for (Iterator itemNode = itemNodes.iterator(); itemNode.hasNext();)

    {

    Element itemContent = (Element)itemNode.next();

    String itemData = (String)itemContent.getData();

    listValues.add(itemData);

    }

    pdfDocument.addItem(listValues, font);

    }

    if ("table".equals(contentElm.getName()))

    {

    List tableValues = new ArrayList();

    int tableCells = Integer.parseInt(contentElm

    .attributeValue("cell"));

    int tableRows = Integer.parseInt(contentElm

    .attributeValue("row"));

    List trNodes = contentElm.elements();

    for (Iterator trNode = trNodes.iterator(); trNode.hasNext();)

          

首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇c++ 按行读取 (getline) 下一篇poj1523 解题报告

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: