ホームページ  >  記事  >  Java  >  JavaでPDFのフォントを置換する機能を実装する方法

JavaでPDFのフォントを置換する機能を実装する方法

王林
王林転載
2023-04-30 18:55:141650ブラウズ

jar の紹介

Maven プログラムで pom.xml を構成します:

<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>

手動でインポートする必要がある場合は、Jar パッケージをローカルにダウンロードして解凍し、 lib フォルダー .Pdf.jar ファイル。 IDEA で「プロジェクト構造」を開き、図

JavaでPDFのフォントを置換する機能を実装する方法

Java コード

1 に示すように、ローカル パスの下にある jar をプログラムにインポートします。すべてのフォントを置換

アイデア: PDF ドキュメントをロードした後、ソースドキュメント内のフォントを取得し、新しいフォントを定義し、元のフォントを置き換えて、最後にドキュメントを保存します。

Java

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfFont;
import com.spire.pdf.graphics.PdfFontFamily;
import com.spire.pdf.graphics.PdfFontStyle;
import com.spire.pdf.graphics.fonts.PdfUsedFont;

public class ReplaceAllFonts {
    public static void main(String[] args) throws Exception{
        //创建PdfDocument类的对象
        PdfDocument pdf = new PdfDocument();

        //加载PDF文档
        pdf.loadFromFile("input.pdf");

        //获取文档中的所有字体
        PdfUsedFont[] fonts = pdf.getUsedFonts();

        //遍历所有字体
        for (PdfUsedFont font: fonts) {

            //获取字体大小
            float fontSize = font.getSize();

            //创建新字体
            PdfFont newfont = new PdfFont(PdfFontFamily.Times_Roman, fontSize, PdfFontStyle.Italic);

            //替换原有字体
            font.replace(newfont);
        }

        //保存文档
        pdf.saveToFile("ReplaceAllFonts.pdf");
        pdf.dispose();
    }
}

JavaでPDFのフォントを置換する機能を実装する方法

2. 指定されたフォントを置き換えます

Idea: 読み込みPDF 文書を検索した後、文書内で指定されたフォントを検索して取得し、新しいフォントを定義して、見つかった元のフォントを置き換えて、最後に文書を保存します。

Java

import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.*;
import com.spire.pdf.graphics.fonts.PdfUsedFont;

public class ReplaceSpecificFont {
    public static void main(String[] args) throws Exception{
        //创建PdfDocument类的对象
        PdfDocument pdf = new PdfDocument();

        //加载PDF文档
        pdf.loadFromFile("sample.pdf");

        //获取文档中的所有字体
        PdfUsedFont[] fonts = pdf.getUsedFonts();

        //遍历所有字体
        for (PdfUsedFont font: fonts)
        {
            //判断符合条件的字体
            if(font.getName().equals("Calibri"))
            {
                //获取字体大小
                float fontSize = font.getSize();

                //创建新字体
                PdfFont newfont = new PdfFont(PdfFontFamily.Times_Roman, fontSize, PdfFontStyle.Italic);

                //替换Calibri字体
                font.replace(newfont);
            }
        }

        //保存文档
        pdf.saveToFile("ReplaceSpecificFont.pdf");
        pdf.dispose();
    }
}

JavaでPDFのフォントを置換する機能を実装する方法

以上がJavaでPDFのフォントを置換する機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。