適用於 Go 的 PDF 處理 API

在 Go 應用程序中無縫生成、修改、保護並將 PDF 文檔轉換為各種格式

概述

Aspose.PDF 是 Go 的 PDF 文檔生成庫,可輕鬆創建複雜的多頁可打印文檔。

API 的設計是簡單的,因此生成複雜的文檔就像幾個函數調用一樣簡單。正如名稱所示,該庫是基於 C++ 中的程序代碼開發的。這使我們能夠盡可能快速地使其變得更快,並使其可攜帶到不同的操作系統。

通過 C++ 功能進行使用的 Aspose.PDF

如何通過 C++ 使用 Aspose.PDF for Go 操作後端上的 PDF 文件

通過 C++ 進行 Go 的 Aspose.PDF 可以對 PDF 文件進行後端操作。 使用 Aspose.PDF for Go via C++,您可以優化 PDF 文件,修復損壞的 PDF,添加或提取文本,以及將 PDF 轉換為流行格式。

從 PDF 中提取文本

  • 通過 C++ 使用 Aspose.PDF for Go,您可以從 PDF 中使用格式或作為原始數據提取文本。

將文檔從 PDF 轉換為其他格式

該庫允許將 PDF 存儲為

  • 微軟辦公文件(DOCX/DOC,XLSX,PPTX),
  • 以 BMP,PNG,JPEG,TIFF 和 SVG 格式的圖像,
  • 各種文件(XPS,EPUB,文字/乳膠)。

整理 PDF

通過 C++ 進行 Go 的 Aspose.PDF 允許您執行以下文檔組織功能:

  • 優化 PDF 文件內容,
  • 使用灰色調轉換 PDF 文檔,
  • 旋轉 PDF 文檔中的整個頁面,
  • 設置 PDF 文檔背景顏色,
  • 修復 PDF 文件。

頁面操作

通過 C++ 進行 Go 的 Aspose.PDF 允許您

  • 新增頁面
  • 移除頁面。

將 PDF 轉換為 JPG 和其他圖像格式

Aspose.PDF for Go 通過 C++ 允許您將 PDF 文件的每個頁面渲染並將其轉換為傳統圖像格式,例如 BMP,JPG 和 PNG,以最高的保真度。除了圖像之外,PDF 文件可以輕鬆保存為 DOC 和 DOCX 格式。

在 Go 中將 PDF 頁面另存為 JPEG 圖像

載入現有的 PDF 文件。將 PDF 頁面轉換為圖像,並以 JPG 格式保存每個頁面。

使用 Go 將 PDF 轉換為 JPG

package main

import (
    "fmt"
    "log"

    asposepdf "github.com/aspose-pdf/aspose-pdf-go-cpp"
)

const (
    inputPDFFile      = "sample.pdf"
    outputImagePrefix = "sample_page"
    imageQuality      = 300
)

func main() {
    if err := convertPDFToImages(inputPDFFile); err != nil {
        log.Fatal(err)
    }
}

func convertPDFToImages(pdfFile string) error {
    pdfDocument, err := asposepdf.Open(pdfFile)
    if err != nil {
        return fmt.Errorf("failed to open PDF file: %w", err)
    }
    defer pdfDocument.Close()

    pageCount, err := pdfDocument.PageCount()
    if err != nil {
        return fmt.Errorf("failed to get page count: %w", err)
    }

    for pageIndex := int32(1); pageIndex <= pageCount; pageIndex++ {
        if err := savePageAsImage(pdfDocument, pageIndex); err != nil {
            return err
        }
    }
    return nil
}

func savePageAsImage(pdfDocument *asposepdf.Document, pageIndex int32) error {
    imageFileName := fmt.Sprintf("%s%d.jpg", outputImagePrefix, pageIndex)
    if err := pdfDocument.PageToJpg(pageIndex, imageQuality, imageFileName); err != nil {
        return fmt.Errorf("failed to save page %d as image: %w", pageIndex, err)
    }
    return nil
}

支持和學習資源