文档抽象模型xml,xml解析生成pdf,word文档(六)

2014-11-24 09:46:38 · 作者: · 浏览: 5
}
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.attributeva lue("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.setAttributeva lue(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();)
{