简易PDF生成(JAVA)

package com.pdf;

import java.awt.Color;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.Image;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;


public class turnToPDF {
    //先建立document对象
    Document doc = new Document(PageSize.A4,36.0F,36.0F,36.0F,36.0F);
    public void setPdfDemo() throws DocumentException,IOException{
        //定义字体
        BaseFont bsFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
        Font font = new Font(bsFont,10.0F,0,new Color(59,54,54));
        //保存本地目录
        savePdf();
        doc.open();
        ByteArrayOutputStream by = new ByteArrayOutputStream();
        doc.open();
        //获取此编译文件的路径
        String path = this.getClass().getClassLoader().getResource("").getPath();
        //获取根目录
        String filePath = path.substring(1,path.length()-16);
        //获取图片路径,想要放在pdf里的图片
        //图片路径根据你放在项目的位置而定,主要还是通过路径找到图片
        String picPath = filePath + "\\resources\\images\\";

        //往pdf里添加段落文字
        Paragraph pHeader = new Paragraph();
        pHeader.add(new Paragraph("啦啦啦啦啦(此处为生成的文字)",new Font(bsFont,8.0F,1)));
        //将内容放到文档中
        doc.add(pHeader);
        //获取图片
        Image img = Image.getInstance(picPath + "logo.jpg");
        //定义图片显示的位置
        img.scaleAbsolute(137.0F, 140.0F);
        img.setAbsolutePosition(330.0F, 37.0F);
        //将图片放入文档中
        doc.add(img);

        doc.close();
    }

    public static void main(String[]args) throws DocumentException,IOException{
        turnToPDF tt = new turnToPDF();
        tt.setPdfDemo();
    }

    //指定文件进行保存
    public void savePdf() throws DocumentException,IOException{
        //生成PDF,指定生成到D盘newPdf。pdf
        File file = new File("D:\\newPdf.pdf");
        if(!file.exists()){
            try{
                file.createNewFile();
            }catch(IOException e){
                e.printStackTrace();
            }
        }
        PdfWriter.getInstance(doc, new FileOutputStream(file));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值