IText之绝对位置添加文本

本文档提供了一个IText示例,演示如何在PDF文档中以绝对位置添加文本。通过引用pom.xml配置,ITextPdf.java和TestDemo.java的代码片段展示了实现这一功能的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ITextPdf之绝对位置添加文本的代码demo:https://download.youkuaiyun.com/download/my_blankness/10578907

这里写图片描述

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.itext.demo</groupId>
    <artifactId>ITextPdfDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>ITextPdfDemo</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <logback.version>1.1.7</logback.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.itextpdf/font-asian -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>font-asian</artifactId>
            <version>7.1.2</version>
            <scope>test</scope>
        </dependency>
         <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.10</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.itextpdf/kernel -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>kernel</artifactId>
            <version>7.1.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.itextpdf/layout -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>layout</artifactId>
            <version>7.1.2</version>
        </dependency>
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>1.7.5</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!-- java编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

ITextPdf.java

package com.itextpdf.demo;

import java.io.IOException;

import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
/**
 * itextpdf中绝对位置添加文本,也可以进行多页设置
 * @author Administrator
 *
 */
public class ITextPdf {
    public static boolean generateContract() {
        try (PdfReader reader = new PdfReader("C:/PdfTest/template/a.pdf");
                PdfWriter writer = new PdfWriter("C:/PdfTest/template/wydPdf2.pdf");
                PdfDocument pdfDoc = new PdfDocument(reader, writer)) {
            Document document = new Document(pdfDoc);

            PdfFont font = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            //页数从1开始
            int pageNumber = 1;
            //单位应该是px
            float left = 0;
            float bottom = 0;
            float width = 20;
            document.add(new Paragraph("123").setFont(font).setFixedPosition(pageNumber, left, bottom, width));
            document.add(new Paragraph("456").setFont(font).setFixedPosition(1, 200, bottom, width));
            System.out.println("————————————————————————————————————我在这里");
            document.close();
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
        return true;
    }

}

TestDemo.java

package com.itextpdf.test;


import org.junit.Test;

import com.itextpdf.demo.ITextPdf;

public class TestDemo {
    @Test  
    public void MyTest(){  
        ITextPdf.generateContract();
    }
}
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值