Go용 PDF 프로세싱 API

Go 애플리케이션 내에서 PDF 문서를 다양한 형식으로 원활하게 생성, 수정, 보호 및 변환

개요

Aspose.PDF 는 복잡한 여러 페이지의 인쇄 가능한 문서를 쉽게 만들 수 있는 Go용 PDF 문서 생성 라이브러리입니다.

API는 단순하도록 설계되었으므로 복잡한 문서를 몇 번의 함수 호출만큼 간단하게 생성할 수 있습니다.이름에서 알 수 있듯이 라이브러리는 C++의 프로그램 코드를 기반으로 개발되었습니다.이를 통해 최대한 빠르게 제작할 수 있었을 뿐만 아니라 다른 운영 체제에 이식할 수 있게 되었습니다.

C++를 통한 Go용 Aspose.PDF 기능

C++를 통해 Go용 Aspose.PDF 파일을 사용하여 백엔드에서 PDF 파일을 조작하는 방법

C++를 통한 Go용 Aspose.PDF 기능을 사용하면 PDF 파일의 백엔드 조작이 가능합니다. Aspose.PDF for Go via C++를 사용하면 PDF 파일을 최적화하고, 손상된 PDF를 수정하고, 텍스트를 추가 또는 추출하고, PDF를 인기 있는 형식으로 변환할 수 있습니다.

PDF에서 텍스트 추출

  • Aspose.PDF for Go via C++를 사용하면 서식을 지정하거나 원시 데이터로 PDF에서 텍스트를 추출할 수 있습니다.

PDF에서 다른 형식으로 문서 변환

라이브러리는 PDF를 다음과 같이 저장할 수 있습니다.

  • 마이크로소프트 오피스 문서 (DOCX/DOC, XLSX, PPTX)
  • BMP, PNG, JPEG, TIFF 및 SVG 형식의 이미지
  • 다양한 문서 (XPS, EPUB, TeX/LaTex)

PDF 정리하기

Aspose.PDF for Go via C++를 사용하면 다음과 같은 문서 구성 기능을 수행할 수 있습니다.

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