Go 用の PDF プロセッシング API

Go アプリケーション内でシームレスに PDF ドキュメントを生成、変更、保護、およびさまざまな形式に変換します

概要

Aspose.PDF は Go 用の PDF ドキュメント生成ライブラリで、複雑で複数ページの印刷可能なドキュメントを簡単に作成できます。

API はシンプルに設計されているため、複雑なドキュメントの生成は数回の関数呼び出しと同じくらい簡単です。名前が示すように、このライブラリは C++ のプログラムコードに基づいて開発されています。これにより、可能な限り高速化でき、さまざまなオペレーティングシステムへの移植も可能になりました。

Aspose.PDF for Go via C++ 機能

C++ 経由で Aspose.PDF for Go を使用してバックエンドで PDF ファイルを操作する方法

C++ 経由の Go 用 Aspose.PDF を使用すると、PDF ファイルのバックエンド操作が可能になります。 C++ 経由の Aspose.PDF for Go を使用すると、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 via 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
}