Rumah  >  Artikel  >  Java  >  Bagaimana untuk menambah nombor halaman pada dokumen PDF di Java

Bagaimana untuk menambah nombor halaman pada dokumen PDF di Java

PHPz
PHPzke hadapan
2023-04-30 10:58:061101semak imbas

Persekitaran penyusunan kod

IntelliJ IDEA 2019 (jdk 1.8.0)

Pakej Jar PDF: Spire.PDF Percuma untuk Java 5.1.0

Diperkenalkan jarPakej

Kaedah import 1:

Perkenalkan secara manual. Muat turun Spire.PDF Percuma untuk Java secara tempatan, nyahzipnya dan cari fail Spire.PDF.jar dalam folder lib. Buka antara muka berikut dalam IDEA dan perkenalkan fail jar dalam laluan setempat ke dalam program Java:

Bagaimana untuk menambah nombor halaman pada dokumen PDF di Java

Kaedah import 2: Jika anda ingin memasangnya melalui Maven, anda boleh pasang dalam pom.xml Tambahkan kod berikut pada fail untuk mengimport fail JAR.

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.pdf.free</artifactId>

        <version>5.1.0</version>

    </dependency>

</dependencies>

Akan menambah nombor halaman pada dokumen PDF

Langkah berikut menunjukkan cara menambah nombor halaman seperti "Halaman X daripada halaman Y" pada dokumen PDF sedia ada:

  • Buat objek kelas PdfDocument.

  • Gunakan kaedah PdfDocument.loadFromFile() untuk memuatkan dokumen PDF.

  • Buat objek kelas PdfPageNumberField.

  • Buat objek kelas PdfPageCountField.

  • Mencipta objek kelas PdfCompositeField.

  • Tetapkan penjajaran teks untuk medan komposit menggunakan kaedah PdfCompositeField.setStringFormat().

  • Gelung setiap halaman dalam dokumen PDF dan kemudian gunakan kaedah PdfCompositeField.draw() untuk melukis medan komposit pada lokasi tertentu pada halaman.

  • Simpan dokumen yang terhasil menggunakan kaedah PdfDocument.saveToFile().

Kod penuh

Java

import com.spire.pdf.*;
import com.spire.pdf.automaticfields.PdfCompositeField;
import com.spire.pdf.automaticfields.PdfPageCountField;
import com.spire.pdf.automaticfields.PdfPageNumberField;
import com.spire.pdf.graphics.*;

import java.awt.*;

public class addPageNumber {
    public static void main(String[] args) {

        //创建 PdfDocument 类的对象
        PdfDocument pdf = new PdfDocument();
        //载入PDF文档
        pdf.loadFromFile("九寨沟简介 .pdf");

        //创建 PdfTrueTypeFont 类的对象
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("华文中宋", Font.PLAIN, 10));

        //创建 PdfPageNumberField 类的对象
        PdfPageNumberField pageNumberField = new PdfPageNumberField(font, PdfBrushes.getBlack());

        //创建 PdfPageCountField 类的对象
        PdfPageCountField pageCountField = new PdfPageCountField(font, PdfBrushes.getBlack());

        //创建一个 PdfCompositeField 类的对象,将页码字段和页数字段添加到复合字段
        PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "第{0}页/共{1}页", pageNumberField, pageCountField);

        //设置复合字段的文字格式
        compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top));

        //循环遍历文档中的页面
        for(int i = 0; i < pdf.getPages().getCount();i ++)
        {
            PdfPageBase page = pdf.getPages().get(i);
            float x = (float) page.getSize().getWidth()/2 - 20;
            float y = (float)page.getSize().getHeight() - pdf.getPageSettings().getMargins().getBottom();
            //将复合字段描绘于每个页面上
            compositeField.draw(page.getCanvas(), x, y);
        }

        //保存结果文档
        pdf.saveToFile("添加页码.pdf");
    }
}

Rendering

Bagaimana untuk menambah nombor halaman pada dokumen PDF di Java

Atas ialah kandungan terperinci Bagaimana untuk menambah nombor halaman pada dokumen PDF di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam