`

java使用itext创建pdf时,分不同列显示

    博客分类:
  • java
 
阅读更多

根据itext官方回复http://developers.itextpdf.com/question/how-format-string-resulting-two-column-display 实施;

 方法声明为:public ByteBuffer outputPDF(File file,String hints,String[] title,List<String[]> contents,int[] widths)

 
            BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            Font fontChinese_italic = new Font(bfChinese, 13, Font.ITALIC, BaseColor.LIGHT_GRAY);
            Font fontChinese_title = new Font(bfChinese, 14, Font.BOLD, BaseColor.BLACK);
            Font fontChinese_content = new Font(bfChinese, 14, Font.NORMAL, BaseColor.BLACK); 
Paragraph hintT = createParagraphWithTab(fontChinese_title,title);
//            Paragraph hintT = createParagraphWithSpaces(fontChinese_title,title);
//            document.add(hintT);
//
//            int sz = contents.size();
//            for(int j=0;j<sz;j++)
//            {
////                Paragraph hintC = createParagraphWithTab(fontChinese_content,contents.get(j));
//                Paragraph hintC = createParagraphWithSpaces(fontChinese_content, contents.get(j));
//                document.add(hintC);
//            }

            PdfPTable table = new PdfPTable(7);//7为列,列要写,行可以不写
            table.setWidthPercentage(100);
            table.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.setWidths({2,1,1,1,2,1,4});//这7列,每列的相对宽度,本身宽度与总和商是列宽比例,列宽数组大小要与之前构造函数中的列数严格一致
            table.getDefaultCell().setBorder(Rectangle.NO_BORDER);

            for(String tt:title)
            {
                table.addCell(new Phrase(10,tt,fontChinese_title));
            }

            for(String[] ss:contents)
            {
                for(String s:ss)
                {
                   table.addCell(new Phrase(10,s,fontChinese_content));
                }
            }

            document.add(table);



 private Paragraph createParagraphWithTab(Font font, String[] content) {
        Paragraph p = new Paragraph();
        p.setFont(font);
//        p.set
        for(String s:content)
        {
            p.add(s);
            p.add(Chunk.TAB);
        }
        return p;
    }

    private Paragraph createParagraphWithSpaces(Font font, String[] content) {
        Paragraph p = new Paragraph();
        p.setFont(font);
        for(String s:content)
        {
            p.add(String.format("%-10s", s));
        }
        return p;
    }

 

 

分享到:
评论

相关推荐

    java使用itext导出PDF文本绝对定位(实现方法)

    java使用iText导出PDF文本绝对定位(实现方法) iText是一个流行的Java类库,用于生成PDF文档。下面我们将探讨如何使用iText在Java中导出PDF文本,并实现绝对定位。 iText简介 iText是一个开源的Java类库,用于...

    java使用itext实现pdf文件下载

    Itext提供了一系列的API,可以方便地创建PDF文档的各个元素,如文本、图像、表格等。在项目中引入Itext依赖,通常使用Maven或Gradle进行管理,例如在Maven的pom.xml中添加如下依赖: ```xml &lt;groupId&gt;...

    Java解决Itext pdf中文不显示问题

    2. 在创建PDF文档时指定使用该字体,并设置正确的编码方式。 3. 确保Java项目的编码设置为UTF-8。 4. 如果需要,考虑使用更通用的字体以提高兼容性。 通过以上步骤,你应该能成功地在Java中使用Itext生成包含中文...

    JAVA使用itextpdf实现HTML转PDF

    本主题聚焦于使用Java的iTextPDF库来完成这个任务。iTextPDF是一个强大的Java库,允许开发人员创建、修改和优化PDF文档。 首先,我们需要了解HTML和PDF之间的差异。HTML是一种标记语言,用于构建和设计网页,而PDF...

    java使用IText导出PDF(包含图片、表格、文字等等Demo和依赖包)

    Java使用IText库导出PDF是一项常见的任务,特别是在需要生成报告、文档或发票等静态内容时。IText是一个强大的PDF库,它允许开发者在Java环境中创建、修改和处理PDF文档。下面将详细介绍如何使用IText库来实现这个...

    java使用itext解析pdf并生成文本文件—eclipse工程

    2. **创建PdfReader对象**:使用`PdfReader`类来打开和读取PDF文件。你需要提供PDF文件的路径作为构造函数的参数: ```java PdfReader reader = new PdfReader("path_to_your_pdf.pdf"); ``` 3. **遍历PDF页**:PDF...

    java通过itext操作pdf模板写入pdf合同数据

    在这个过程中,首先我们需要一个PDF模板,通常由Adobe Acrobat等专业工具生成,然后使用iText库在Java代码中读取模板并写入动态数据。 1. **iText库介绍** iText是开源的Java库,支持PDF 1.7标准,提供了一系列API...

    java使用itextpdf、itext-asian对pdf文件加水印

    2. **创建PDF文档读写对象**:使用`PdfReader`读取源PDF文件,然后用`PdfStamper`创建一个可写对象,允许我们向PDF中添加新的内容。 ```java FileInputStream fis = new FileInputStream("源文件路径"); PdfReader ...

    adobe pdf编辑器 java利用itextpdf根据模板导出pdf配套资源

    使用iTextPDF时,首先需要理解其核心概念,例如Document对象代表PDF文档,Paragraph、Chunk、Table等类用于构建文档内容。模板方法通常涉及到预先设计好的PDF模板,其中可能包含占位符,然后在运行时替换这些占位符...

    Java 使用iText7生成带页码的PDF文件(同时生成目录,但是不会合并两个PDF)

    本文将深入探讨如何使用iText7这个库在Java环境中生成带有页码和目录的PDF文件。 iText7是一款功能丰富的PDF处理库,它支持创建、编辑、解析和展示PDF文档。在Java中,我们可以利用iText7轻松地生成具有复杂结构的...

    使用IText生成PDF和WORD文档

    以下是一个简单的示例,演示如何使用IText创建一个包含文本的PDF文档: ```java import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import ...

    使用iText生成PDF.doc

    `Table`类用于创建PDF中的表格。示例中创建了一个2行4列的表格,并添加了单元格。`addCell()`方法用于添加单元格,可以通过参数调整单元格的样式和位置。 6. **插入图像**: 示例中使用`Jpeg`类添加了一张图片。...

    itext 生成pdf 目录

    iText 是一个强大的Java库,专门用于创建和修改PDF文档。在PDF文档中,目录(或书签)是用户友好的导航工具,可以帮助读者快速跳转到特定章节或页面。本篇文章将深入探讨如何使用iText来生成PDF的目录。 首先,理解...

    使用itextpdf将excel转化为pdf + pdf加水印

    3. **创建PDF文档**:初始化一个Document对象,设置页边距和大小,准备写入PDF内容。 4. **转换表格**:遍历Excel的工作表,将每个单元格的内容和样式转换为PDF元素,如Paragraph、Table等,然后添加到PDF文档中。 5...

    Java 使用itext将html转pdf并下载demo

    iText库提供了多种API,可以用来创建PDF文档、添加文本、图像、表格等元素。在HTML到PDF的转换过程中,我们通常会借助一个名为HTMLWorker的类,它能够解析HTML并将其内容转换为PDF格式。 1. **安装iText库**:在...

    Android使用iText生成pdf并读取pdf内容

    iText是一个强大的开源库,它允许开发者在Java和.NET环境中创建、编辑和处理PDF文档。在这个场景中,我们将探讨如何利用iText在Android应用中生成PDF以及读取PDF的内容。 首先,我们需要在Android项目中引入iText库...

    JAVA基于ITEXT实现的PDF报表系统

    要使用ITEXT创建PDF报表,首先需要引入相应的依赖。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.itextpdf&lt;/groupId&gt; &lt;artifactId&gt;itextpdf &lt;version&gt;5.x.x ``` 这里的...

    java Itext 将tif转换成PDF 包含多页

    在IT行业中,处理图像文件和文档格式...总之,使用Java和iText库,可以方便地将多页的TIFF文件转换为多页的PDF文档,满足在不同场景下的文件格式需求。通过深入理解和实践,可以进一步定制功能,满足特定的业务需求。

    使用itextpdf将PDF大文件拆分成若干份指定大小文件.zip

    本主题涉及的是如何使用Java和iTextPDF库来将一个大PDF文件拆分成多个指定大小的文件。首先,我们需要理解PDF文件的结构以及iTextPDF库的基本操作。 iTextPDF是一个强大的Java库,它提供了丰富的API来创建、修改和...

    使用Java组件itext生成pdf介绍.docx

    ### 使用Java组件itext生成PDF知识点详解 #### 一、前言 在现代企业信息化建设过程中,报表处理占据了举足轻重的地位。特别是在B/S架构系统中,如何高效地生成和展示报表成为了一个亟待解决的问题。Java组件iText...

Global site tag (gtag.js) - Google Analytics