application/pdf
charset=gb2312
pdfStream
attachment
filename="contract.pdf"
2048
①建立com.lowagie.text.Document对象的实例。Document document = new Document()
②建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。
PDFWriter.getInstance(document, new FileOutputStream("Helloworld.PDF"))
③打开文档。
document.open()
④向文档中添加内容。
document.add(new Paragraph("Hello World"))
⑤关闭文档。
document.close()
通过上面的5个步骤,就能产生一个Helloworld.PDF的文件,文件内容为"Hello World"。
需要用到一个pdf的jar包,去网上下载一个itextpdf.jar。导出pdf的格式都是需要自己用代码实现的,每一行 ,每一个列是什么格式,都需要自己写出来,是不能够自动生成的,反正很麻烦。我做的一个导出成pdf特定格式的东西,写了好几千行代码。相当头痛。package com.dw.mqs.export
import java.awt.Color
import java.io.ByteArrayOutputStream
import java.math.BigDecimal
import java.net.URL
import java.util.Date
import java.util.HashSet
import java.util.Hashtable
import java.util.List
import java.util.Map
import java.util.Set
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
import com.dw.file.WebHelper
import com.dw.mqs.MqsManager
import com.dw.mqs.MqsUtilNew
import com.dw.mqs.ProductItem
import com.dw.mqs.ProjectBasicItem
import com.dw.mqs.ProjectConfDetailItem
import com.dw.mqs.ProjectConfVerItem
import com.dw.mqs.ProjectConfig
import com.dw.mqs.ProjectService
import com.dw.mqs.Util
import com.dw.system.Convert
import com.dw.system.gdb.DBResult
import com.dw.system.gdb.DataRow
import com.dw.system.gdb.GDB
import com.dw.user.User
import com.dw.user.UserManager
import com.dw.user.UserProfile
import com.lowagie.text.Document
import com.lowagie.text.Element
import com.lowagie.text.Font
import com.lowagie.text.Image
import com.lowagie.text.PageSize
import com.lowagie.text.Paragraph
import com.lowagie.text.Rectangle
import com.lowagie.text.pdf.BaseFont
import com.lowagie.text.pdf.PdfPCell
import com.lowagie.text.pdf.PdfPTable
import com.lowagie.text.pdf.PdfWriter
public class PdfService
{
Document document = new Document(PageSize.A4.rotate(), 50, 50, 50, 50)
ByteArrayOutputStream os = new ByteArrayOutputStream()
PdfWriter pdf = PdfWriter.getInstance(document, os)
Rectangle rect = new Rectangle(36, 54, 559, 788)
pdf.setBoxSize("art", rect)
pdf.setPageEvent(new TableHeader())
document.open()
BaseFont baseArialuni = BaseFont.createFont("res/ARIALUNI.TTF",
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED)// Arial
// unicode字体
Font fontCN = new Font(baseArialuni, 9, Font.NORMAL, Color.BLACK)
Font fontCN8b = new Font(baseArialuni, 9, Font.BOLD, Color.BLACK)
Font fontCN12b = new Font(baseArialuni, 12, Font.BOLD, Color.BLACK)
Font fontCN9b = new Font(baseArialuni, 10, Font.BOLD, Color.BLACK)
Font fontCN9 = new Font(baseArialuni, 10, Font.NORMAL, Color.BLACK)
Font fontCN9b_blue = new Font(baseArialuni, 10, Font.BOLD, Color.BLUE)
PdfPTable table = null
PdfPCell cell = null
table = new PdfPTable(relativeWidths)
table.setWidthPercentage(100)
cell = new PdfPCell(new Paragraph(tit + "标题", fontCN12b))
cell.setColspan(root ? 12 : 10)
cell.setHorizontalAlignment(Element.ALIGN_CENTER)// 水平居中
cell.setVerticalAlignment(Element.ALIGN_MIDDLE)// 垂直居中
cell.setBorder(Rectangle.NO_BORDER)
table.addCell(cell)
}