Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara tukar golang pdf ke txt

Cara tukar golang pdf ke txt

PHPz
PHPzasal
2023-04-24 09:10:08889semak imbas

Hari ini, saya ingin berkongsi dengan anda cara menukar fail PDF kepada fail teks, khususnya menggunakan perpustakaan PDF kepada TXT di Golang. PDF ialah format yang sangat biasa dalam kesusasteraan moden, tetapi dalam beberapa kes, untuk pemprosesan dan analisis teks, mungkin menyusahkan untuk menggunakan dokumen dalam format PDF. Oleh itu, kita perlu menukarnya kepada format teks untuk kegunaan selanjutnya. Walaupun terdapat banyak perisian yang boleh melakukan ini, lebih cekap dan fleksibel menggunakan perpustakaan untuk menukar PDF kepada teks dalam persekitaran pengaturcaraan.

Pertama, kita perlu memuat turun PDF Golang ke perpustakaan TXT. Terdapat banyak perpustakaan PDF ke TXT yang tersedia, tetapi kami menggunakan salah satu daripada beberapa perpustakaan yang paling popular - go-pdf-to-text. Perpustakaan ini adalah pilihan yang baik kerana ia mudah digunakan dan mempunyai dokumentasi yang baik.

Memasang perpustakaan go-pdf-to-text adalah mudah, cuma jalankan arahan berikut dalam baris arahan:

go get -u github.com/lu4p/unipdf/extract
go get -u github.com/lu4p/unipdf/model/textencoding
go get -u github.com/lu4p/unipdf/model/textlayout
go get -u github.com/lu4p/unipdf/model/textencoding/simplenc

Selepas memuat turun perpustakaan ini, kami boleh menulis kod dan menukar ia untuk teks. Berikut ialah beberapa contoh kod untuk menukar fail PDF kepada format teks:

package main

import (
    "fmt"
    "os"

    pdf "github.com/lu4p/unipdf/v3/model"
    "github.com/lu4p/unipdf/v3/extractor"
)

func main() {
    f, err := os.Open("example.pdf")
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
    defer f.Close()

    pdfReader, err := pdf.NewPdfReader(f)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    numPages, err := pdfReader.GetNumPages()
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    ex := extractor.New(pdfReader)

    for i := 1; i <= numPages; i++ {
        pageText, err := ex.ExtractPageText(i)
        if err != nil {
            fmt.Println(err)
            os.Exit(1)
        }
        fmt.Println(pageText)
    }
}

Dalam contoh ini, kami mula-mula membuka fail PDF dan kemudian memuatkannya ke dalam pdfReader. Kami kemudian menggunakan fungsi Baharu daripada pakej ekstrak untuk mencipta pengekstrak yang memuatkan kandungan halaman ke dalam memori untuk pengekstrakan teks. Dengan menggunakan gelung, kami melingkari semua halaman dan menukarnya kepada teks.

Kita dapat lihat bahawa menggunakan perpustakaan ini tidak sukar sama sekali. Teruskan dan cuba pustaka ini untuk penukaran PDF.

Selain pustaka go-pdf-to-text, terdapat beberapa perpustakaan lain yang boleh digunakan untuk menukar PDF kepada TXT. Namun begitu, setiap perpustakaan mempunyai kelebihan dan batasan yang berbeza dalam beberapa aspek. Sebagai contoh, sesetengah perpustakaan ini mungkin menukar lebih cepat, manakala yang lain mungkin menyediakan pengekstrakan teks yang lebih tepat. Oleh itu, anda perlu membuat pertukaran apabila memilih perpustakaan berdasarkan keperluan projek anda dan ketepatan output teks yang anda inginkan.

Secara keseluruhannya, PDF ke TXT boleh menjadi alat yang sangat berguna, terutamanya apabila kandungan dalam PDF perlu dianalisis dan diproses. Menggunakan Golang, anda boleh menukar fail PDF kepada format TXT dengan mudah dan mengekstrak data teks yang diperlukan daripadanya. Pustaka go-pdf-to-text yang kami gunakan berfungsi dengan baik, tetapi anda boleh menggunakan perpustakaan lain untuk tugas ini, bergantung pada keperluan projek anda dan output yang diingini.

Atas ialah kandungan terperinci Cara tukar golang pdf ke txt. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn