zoukankan      html  css  js  c++  java
  • iText生成PDF

    Document document = null;
    PdfWriter writer = null;
    try{
        // A4横向
        document = new Document(new Rectangle(842.0F, 595.0F), 20F, 20F, 50F, 50F);
        writer = PdfWriter.getInstance(document, new FileOutputStream(...));
        document.open();
        
        // 解决不支持中文的问题
        BaseFont baseFont = BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        
        // 字体
        // 标题:粗体、黑色、大小21
        Font titleFont = new Font(baseFont, 21F, Font.BOLD, BaseColor.BLACK);
        // 正文字体
        Font contentFont = new Font(baseFont, 16F);
        // 字体:下划线
        Font titleFont = new Font(baseFont, 16F, Font.UNDERLINE);
        
        // 短句,document.add(..)不换行
        Phrase phrase;
        // 段落:document.add(..)换行
        Paragraph paragraph;
    
        // 标题
        paragraph = new Paragraph("YangNing", titleFont);
        paragraph.setLeading(30F);
        paragraph.setsetAlignment(Element.ALIGN_CENTER);
        document.add(paragraph);
    
        // 第一段
        phrase = new Phrase("文字A", contentFont);
        phrase .setLeading(30F);
        document.add(phrase);
    
        phrase = new Phrase("文字B
    ", contentFont);
        phrase .setLeading(30F);
        document.add(phrase);
    
        // 第二段
        paragraph = new Paragraph("xxxx", contentFont);
        paragraph.setLeading(30F);
        document.add(paragraph);
    
        // 增加表格
        document.add(createTable(baseFont));
    } catch (Exception e){
        // handle exception
    } finally {
        if(document != null){
            document.close;
        }
        if(writer != null){
            writer.close;
        }
    }
    private PdfPTable createTable(BaseFont baseFont){
        Font tableFont = new Font(baseFont, 9F);
        // 两列
        PdfPTable table = new PdfPTable(2)
        table.setWidthPercentage(100F);
        table.setSpacingBefore(10F);
        table.setSpacingAfter(10F);
        table.serWidths(new float[]{4F, 5F});
    
        PdfPCell child;
    
        child = new PdfPCell(new Phrase("姓名", tableFont));
        child.setMinimunHeight(30F)
        child.setHorizontalAlignment(Element.ALIGN_CERTER);
        child.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(child);
    
        child = new PdfPCell(new Phrase("年龄", tableFont));
        child.setMinimunHeight(30F)
        child.setHorizontalAlignment(Element.ALIGN_CERTER);
        child.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(child);
    
        child = new PdfPCell(new Phrase("yangxuyue", tableFont));
        child.setMinimunHeight(30F)
        child.setHorizontalAlignment(Element.ALIGN_CERTER);
        child.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(child);
    
        child = new PdfPCell(new Phrase("24", tableFont));
        child.setMinimunHeight(30F)
        child.setHorizontalAlignment(Element.ALIGN_CERTER);
        child.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(child);
    
        return table;
    }
  • 相关阅读:
    Asp.Net MVC4入门指南(3):添加一个视图
    Asp.Net MVC4入门指南(2):添加一个控制器
    Asp.Net MVC4入门指南(1): 入门介绍
    .net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V2版本)
    ASP.NET网站实现中英文转换(本地化资源)
    .net 内置对象之Session对象和Session的过期时间
    SQL 单表分页存储过程和单表多字段排序和任意字段分页存储过程
    Js键盘事件全面控制,回车按键事件,键盘对应按键码,按键事件兼容各个浏览器。
    C# WebBrowser控件详解
    html .net 网页,网站标题添图标
  • 原文地址:https://www.cnblogs.com/yang21/p/9949361.html
Copyright © 2011-2022 走看看