Maison  >  Article  >  développement back-end  >  changement golang pdf

changement golang pdf

WBOY
WBOYoriginal
2023-05-27 14:49:081404parcourir

Dans la société moderne, le PDF est devenu un format de document important et est largement utilisé tant au travail que dans la vie quotidienne. Cependant, lors du traitement de documents PDF, nous devons parfois modifier ou éditer des documents PDF existants. À ce stade, nous devons utiliser les outils et technologies correspondants. Parmi ces outils et technologies, Golang est le plus pratique et le plus populaire. Il peut facilement réaliser des fonctions telles que la lecture, la modification et la conversion de documents PDF. Cet article présentera comment Golang modifie les documents PDF.

1. Utilisez la bibliothèque Golang pour exploiter les documents PDF

Dans Golang, nous pouvons utiliser des bibliothèques tierces pour exploiter les documents PDF, les plus couramment utilisées sont gopdf et go-pdftk. Parmi eux, gopdf peut réaliser la génération et l'exploitation de documents PDF de base, tandis que go-pdftk peut réaliser des opérations et des conversions de documents PDF plus complexes. Dans cet article, nous utiliserons gopdf comme exemple pour expliquer.

1. Lire des documents PDF

Lorsque vous utilisez Golang pour exploiter des documents PDF, vous devez d'abord lire le contenu du document PDF. Nous pouvons utiliser la fonction ReadPdf() de la bibliothèque gopdf pour lire le document PDF. L'exemple de code est le suivant :

import (
    "fmt"
    "github.com/signintech/gopdf"
)

func main() {
    //读取pdf文件
    pdf, err := gopdf.Read("example.pdf")
    if err != nil {
        fmt.Println(err)
        return
    }
    //打印pdf中的文本内容
    fmt.Println(pdf.GetText()) 
}

Dans le code ci-dessus, nous lisons le document example.pdf dans le répertoire courant via la fonction Read(). de gopdf, et tout le contenu textuel du document est obtenu via la fonction GetText().

2. Modifier le document PDF

Après avoir lu le document PDF, nous pouvons modifier le document PDF grâce à certaines fonctions de la bibliothèque gopdf, telles que l'ajout de texte, l'insertion d'images, etc. Voici quelques exemples de base de modification de documents PDF :

import (
    "github.com/signintech/gopdf"
    "image/color"
)

func main() {
    //读取pdf文件
    pdf, _ := gopdf.Read("example.pdf")
    //添加文字
    pdf.AddPage()
    pdf.SetFont("Helvetica", "", 14)
    pdf.SetTextColor(color.Black)
    pdf.Text("hello, world", 100, 100)
    //保存更改后的pdf文件
    err := pdf.WritePdf("example_edited.pdf")
    if err != nil {
        fmt.Println(err)
        return
    }
}

Dans le code ci-dessus, nous ajoutons une nouvelle page via la fonction AddPage() dans la bibliothèque gopdf, et définissons le style et la couleur du texte à l'aide des fonctions SetFont() et SetTextColor(). . Enfin, nous enregistrons le document PDF modifié via la fonction WritePdf().

3. Fusionner des documents PDF

Parfois, nous devons fusionner plusieurs documents PDF en un seul. À ce stade, nous pouvons utiliser la fonction MergePdf() de la bibliothèque gopdf pour fonctionner, comme indiqué ci-dessous :

import (
    "github.com/signintech/gopdf"
)

func main() {
    //读取pdf文件
    pdf1, _ := gopdf.Read("example1.pdf")
    pdf2, _ := gopdf.Read("example2.pdf")
    //合并pdf文件
    pdf := gopdf.MergePdf([]*gopdf.GoPdf{pdf1, pdf2})
    //保存合并后的pdf文件
    err := pdf.WritePdf("example_combined.pdf")
    if err != nil {
        fmt.Println(err)
        return
    }
}

Dans le code ci-dessus. , nous avons fusionné les deux fichiers example1.pdf et example2.pdf en un seul via la fonction MergePdf() et enregistré le document PDF fusionné via la fonction WritePdf().

2. Utilisez l'outil de ligne de commande pdftk pour gérer les documents PDF

En plus d'utiliser la bibliothèque gopdf, nous pouvons également utiliser l'outil de ligne de commande pdftk pour gérer les documents PDF. pdftk est un outil de traitement de documents PDF largement utilisé qui peut effectuer des opérations telles que l'édition, la conversion et la combinaison de divers documents PDF via des opérations en ligne de commande.

1. Installer pdftk

Avant d'utiliser pdftk, nous devons d'abord installer cet outil. pdftk est un outil de ligne de commande multiplateforme qui peut fonctionner sous Windows, Linux et Mac OS. Sous Windows et Linux, nous pouvons l'installer en téléchargeant le fichier binaire, tandis que sous Mac OS, nous devons utiliser Homebrew pour l'installer. L'exemple de code est le suivant :

# mac os上使用homebrew安装pdftk
brew install pdftk

Après avoir installé pdftk, nous pouvons utiliser pdftk dans la commande. ligne Commandé.

2. Utilisez pdftk pour modifier des documents PDF

Dans la ligne de commande, nous pouvons utiliser la commande pdftk pour éditer et exploiter des documents PDF. Voici quelques exemples de commandes pdftk de base :

Modifier le contenu d'une page dans un fichier PDF

pdftk input.pdf cat 1 output output.pdf

Fusionner plusieurs fichiers PDF en un seul

pdftk file1.pdf file2.pdf cat Output Output.pdf

Fusionner certaines pages de plusieurs fichiers PDF en un seul fichier

pdftk file1.pdf file2.pdf cat 1 3 Output Output.pdf

Supprimer certaines pages des fichiers PDF

pdftk input.pdf cat 1-4 Sortie de sortie à 6 extrémités.pdf

Fusionner plusieurs fichiers PDF en un seul fichier dans l'ordre spécifié

pdftk file1.pdf file2.pdf shuffle output output.pdf

Dans ces commandes pdftk, la commande cat est utilisée pour fusionner certaines pages dans un document PDF en un seul fichier, la sortie spécifie le nom du fichier de sortie et la lecture aléatoire est utilisée pour fusionner plusieurs fichiers PDF en un seul fichier dans un ordre spécifié.

En bref, l'utilisation de l'outil de ligne de commande pdftk dans Golang peut réaliser des éditions et des opérations de documents PDF plus riches et plus complexes, et il peut également être facilement intégré et appelé avec d'autres outils de ligne de commande, améliorant considérablement l'efficacité et la flexibilité du traitement des documents PDF. .

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:golang implémente jsonArticle suivant:golang implémente json