Maison  >  Article  >  Java  >  Comment implémenter la fonction de remplacement des polices dans PDF en Java

Comment implémenter la fonction de remplacement des polices dans PDF en Java

王林
王林avant
2023-04-30 18:55:141689parcourir

Introduisez jar

Configurez pom.xml dans le programme Maven :

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

Si vous devez l'importer manuellement, vous pouvez télécharger le package Jar localement, puis le décompresser et rechercher le fichier Spire.Pdf.jar dans le dossier lib. Ouvrez "Project Structure" dans IDEA et importez le fichier jar dans le chemin local dans le programme, comme indiqué dans la figure :

Comment implémenter la fonction de remplacement des polices dans PDF en Java

Code Java

1 Remplacez toutes les polices

Idea : Après avoir chargé le document PDF. , récupérez la police du document source, puis définissez la nouvelle police, remplacez la police d'origine et enfin enregistrez le document.

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();
    }
}

Comment implémenter la fonction de remplacement des polices dans PDF en Java

2. Remplacer la police spécifiée

Idée : Après avoir chargé le document PDF, recherchez et obtenez la police spécifiée dans le document, puis définissez une nouvelle police, remplacez la police originale trouvée. , et enfin Enregistrez le document.

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();
    }
}

Comment implémenter la fonction de remplacement des polices dans PDF en Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer