{
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();)