import java.io.FileOutputStream
import java.io.IOException
import java.awt.Color
import com.lowagie.text.*
import com.lowagie.text.pdf.*
import com.lowagie.text.pdf.BaseFont
/**
* 创建Pdf文档
* @author Administrator
*
*/
public class HelloPdf
{
public static void main(String[] args)throws Exception
{
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED)
Font FontChinese = new Font(bfChinese, 12, Font.NORMAL)
// 第一步,创建document对象
Rectangle rectPageSize = new Rectangle(PageSize.A4)
//下面代码设置页面横置
//rectPageSize = rectPageSize.rotate()
//创建document对象并指定边距
Document doc = new Document(rectPageSize,50,50,50,50)
Document document = new Document()
try
{
// 第二步,将Document实例和文件输出流用PdfWriter类绑定在一起
//从而完成向Document写,即写入PDF文档
PdfWriter.getInstance(document,new FileOutputStream("src/poi/itext/HelloWorld.pdf"))
//第3步,打开文档
document.open()
//第3步,向文档添加文字. 文档由段组成
document.add(new Paragraph("Hello World"))
Paragraph par = new Paragraph("世界你好",FontChinese)
document.add(par)
PdfPTable table = new PdfPTable(3)
for(int i=0i<12i++)
{
if (i == 0)
{
PdfPCell cell = new PdfPCell()
cell.setColspan(3)
cell.setBackgroundColor(new Color(180,180,180))
cell.addElement(new Paragraph("表格头" , FontChinese))
table.addCell(cell)
}
else
{
PdfPCell cell = new PdfPCell()
cell.addElement(new Paragraph("表格内容" , FontChinese))
table.addCell(cell)
}
}
document.add(table)
}
catch (DocumentException de)
{
System.err.println(de.getMessage())
}
catch (IOException ioe)
{
System.err.println(ioe.getMessage())
}
//关闭document
document.close()
System.out.println("生成HelloPdf成功!")
}
}
希望对你有帮助。
如果只是文字的话,直接读出来,然后用07的存回去,poi能实现。但是有目录什么的就麻烦了,03的读出来目录是一行代码,就容易出问题我用的poi正好在纠结,最后没办法,用按键精灵一个个转的。有个word文档批处理貌似能做到,但是要收费。
下面的是我读取word文字的代码
03读取:
InputStream is = new FileInputStream(docfile)
WordExtractor ex = new WordExtractor(is)
text = ex.getText()
System.out.println(text)
07读取:
OPCPackage opcPackage = POIXMLDocument.openPackage(docxfile.getAbsolutePath())
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage)
text = extractor.getText()
System.out.println(text)
最后:doc不一定是03的,也可能是07的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)