• 大小: 72KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: iText7  

资源简介

本人iText7博客系列第五章的源代码工程,详情请访问我的博客,更多内容请关注我的博客,谢谢大家的一如既往的支持

资源截图

代码片段和文件信息

/**
 * Created by ASUS on 2017/11/17.
 */
import com.itextpdf.forms.PdfAcroForm;
import com.itextpdf.forms.fields.PdfButtonFormField;
import com.itextpdf.forms.fields.PdfFormField;
import com.itextpdf.io.font.FontConstants;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfString;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.action.PdfAction;
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
import com.itextpdf.kernel.pdf.annot.PdfTextAnnotation;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
import java.io.File;
import java.io.IOException;

/**
 * Simple adding annotations example.
 */
public class C05E01_AddAnnotationsAndContent {

    public static final String SRC = “src/main/resources/pdf/job_application.pdf“;
    public static final String DEST = “results/chapter05/edited_job_application.pdf“;

    public static void main(String args[]) throws IOException {
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new C05E01_AddAnnotationsAndContent().manipulatePdf(SRC DEST);
    }

    public void manipulatePdf(String src String dest) throws IOException {

        //Initialize PDF document
        PdfDocument pdfDoc = new PdfDocument(new PdfReader(src) new PdfWriter(dest));

        //Add text annotation
        PdfAnnotation ann = new PdfTextAnnotation(new Rectangle(400 795 0 0))
                .settitle(new PdfString(“iText“))
                .setContents(“Please fill out the form.“)
                .setOpen(true);
        pdfDoc.getFirstPage().addAnnotation(ann);

        PdfCanvas canvas = new PdfCanvas(pdfDoc.getFirstPage());
        canvas.beginText().setFontAndSize(PdfFontFactory.createFont(FontConstants.HELVETICA) 12)
                .moveText(265 597)
                .showText(“I agree to the terms and conditions.“)
                .endText();

        //Add form field
        PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc true);
        PdfButtonFormField checkField = PdfFormField.createCheckBox(pdfDoc new Rectangle(245 594 15 15)
                “agreement“ “Off“ PdfFormField.TYPE_CHECK);
        checkField.setRequired(true);
        form.addField(checkField);

        //Update reset button
        form.getField(“reset“).setAction(PdfAction.createResetForm(new String[]{“name“ “language“
                “experience1“ “experience2“ “experience3“ “shift“ “info“ “agreement“} 0));

        pdfDoc.close();

    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-17 10:51  iText5\
     目录           0  2017-11-17 11:05  iText5\.idea\
     文件         624  2017-07-10 14:37  iText5\.idea\compiler.xml
     目录           0  2017-11-17 10:51  iText5\.idea\libraries\
     文件         511  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_barcodes_7_0_3.xml
     文件         525  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_font_asian_7_0_3.xml
     文件         490  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_forms_7_0_3.xml
     文件         483  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_hyph_7_0_3.xml
     文件         469  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_io_7_0_3.xml
     文件         497  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_kernel_7_0_3.xml
     文件         497  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_layout_7_0_3.xml
     文件         483  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_pdfa_7_0_3.xml
     文件         483  2017-11-02 18:58  iText5\.idea\libraries\Maven__com_itextpdf_sign_7_0_3.xml
     文件         513  2017-07-10 14:46  iText5\.idea\libraries\Maven__org_slf4j_slf4j_api_1_7_13.xml
     文件         872  2017-07-10 14:37  iText5\.idea\misc.xml
     文件         252  2017-07-10 14:37  iText5\.idea\modules.xml
     文件       70363  2017-11-17 11:05  iText5\.idea\workspace.xml
     文件        1726  2017-11-06 17:19  iText5\iText1.iml
     文件        2331  2017-11-06 17:21  iText5\pom.xml
     目录           0  2017-11-17 11:04  iText5\results\
     目录           0  2017-11-17 11:05  iText5\results\chapter05\
     文件       11960  2017-11-17 11:05  iText5\results\chapter05\add_content.pdf
     文件       10020  2017-11-17 11:05  iText5\results\chapter05\change_page.pdf
     文件        9744  2017-11-17 11:05  iText5\results\chapter05\edited_job_application.pdf
     文件        8700  2017-11-17 11:05  iText5\results\chapter05\filled_out_job_application.pdf
     目录           0  2017-11-17 10:51  iText5\src\
     目录           0  2017-11-17 10:51  iText5\src\main\
     目录           0  2017-11-17 10:59  iText5\src\main\java\
     文件        2683  2017-11-17 10:58  iText5\src\main\java\C05E01_AddAnnotationsAndContent.java
     文件        2413  2017-11-17 10:58  iText5\src\main\java\C05E02_FillAndModifyForm.java
     文件        3223  2017-11-17 10:59  iText5\src\main\java\C05E03_AddContent.java
............此处省略18个文件信息

评论

共有 条评论

相关资源