1. 제품
  2.   PDF
  3.   C++
  4.   PoDoFo
 
  

PDF 파일을 생성, 조작 및 파싱하기 위한 무료 C++ API.

선도적인 오픈 소스 PDF 조작 라이브러리는 C++ 개발자들이 C++ 애플리케이션 내에서 PDF 문서를 손쉽게 생성, 조작, 암호화, 글꼴 관리 및 파싱할 수 있게 합니다.

PoDoFo 라이브러리란 무엇인가요?

C++ 개발 분야에서 PDF 파일을 프로그래밍 방식으로 생성, 수정 및 데이터를 추출하는 능력은 흔한 요구 사항입니다. 오픈소스이자 휴대성이 뛰어난 C++17 라이브러리인 PoDoFo는 PDF와 관련된 모든 작업에 강력하고 다재다능한 솔루션으로 부상했습니다. PoDoFo는 자유롭게 사용할 수 있으며 PDF 파일 형식을 다루도록 설계되었습니다. 이를 통해 소프트웨어 개발자는 PDF 파일을 파싱하고, 주석이나 폼 필드와 같은 고수준 PDF 엔터티를 검사하며, 메모리 내에서 수정하고, 변경 사항을 애플리케이션 내부에서 디스크에 다시 기록할 수 있습니다. 또한 이 라이브러리는 외부 의존성 없이 처음부터 새로운 PDF를 쉽게 생성할 수 있게 해줍니다.

PoDoFo는 강력한 C++ 라이브러리로, 소프트웨어 개발자가 포터블 문서 형식(PDF)을 프로그래밍 방식으로 다룰 수 있게 해줍니다. 라이브러리는 LGPL v2.0 이상, 동봉된 도구는 GPL v2.0 이상으로 라이선스가 부여되어 있어 상업용 및 오픈소스 프로젝트 모두에 유연성과 개방성을 보장합니다. PDF 문서를 처음부터 파싱, 조작, 생성할 수 있는 풍부한 도구 세트를 제공합니다. 보고서 자동 생성, 데이터 분석을 위한 텍스트 추출, 보안을 위한 디지털 서명 추가 등 어떤 필요가 있든 PoDoFo는 포괄적이고 유연한 API를 제공하여 충족시킵니다.

Previous Next

PoDoFo 시작하기

PoDoFo를 설치하는 권장 방법은 CMake를 사용하는 것입니다. 원활한 설치를 위해 다음 명령을 사용하십시오.

GitHub에서 PPTXTemplater 설치

 vcpkg install fontconfig freetype libxml2 openssl libjpeg-turbo libpng tiff zlib
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug

GitHub에서 PPTXTemplater 설치

 git clone https://github.com/podofo/podofo.git

또한 수동으로 설치할 수도 있습니다; 최신 릴리스 파일을 GitHub 저장소에서 직접 다운로드하십시오.

PDF 생성 및 수정

오픈 소스 PoDoFo 라이브러리는 C++ 라이브러리 내에서 PDF 문서 생성 및 조작에 대한 완전한 지원을 포함하고 있습니다. PoDoFo는 핵심적으로 새로운 PDF 문서를 생성하고 기존 문서를 수정하는 데 뛰어납니다. 소프트웨어 개발자는 새 페이지를 추가하고, 텍스트를 그리며, 다양한 그래픽 요소를 삽입하고, 암호화된 문서를 쉽게 열 수 있습니다. 다음 간단한 예제는 소프트웨어 개발자가 C++ 애플리케이션 내에서 Simple PDF 문서를 생성할 수 있는 방법을 보여줍니다

C++ 라이브러리를 사용하여 Simple PDF를 만드는 방법?

#include 

using namespace PoDoFo;

int main() {
    PdfStreamedDocument document("HelloWorld.pdf");
    PdfPainter painter;
    PdfPage* pPage;

    try {
        pPage = document.CreatePage(PdfPage::CreateStandardPageSize(ePdfPageSize_A4));
        painter.SetPage(pPage);
        PdfFont* pFont = document.CreateFont("Arial");
        pFont->SetFontSize(18.0);
        painter.SetFont(pFont);
        painter.DrawText(56.69, pPage->GetPageSize().GetHeight() - 56.69, "Hello World!");
        painter.FinishPage();
        document.Close();
    } catch (const PdfError & e) {
        e.PrintErrorMsg();
        return e.GetCode();
    }

    return 0;
}
 

C++를 통한 PDF 파일의 텍스트 추출

PoDoFo 라이브러리는 몇 줄의 C++ 코드만으로 PDF 문서에서 텍스트를 로드하고 추출할 수 있는 강력한 메커니즘을 포함하고 있습니다. 이 기능은 콘텐츠 인덱싱, 데이터 마이닝 또는 문서 분석이 필요한 애플리케이션에 매우 유용합니다. 다음 코드 예제에서는 개발자가 PDF를 PdfMemDocument에 로드하고, 페이지를 순회하며, ExtractTextTo 메서드를 사용하여 텍스트 내용을 가져올 수 있습니다.

C++ API를 사용하여 PDF 파일을 로드하고 텍스트를 추출하는 방법?

#include 
using namespace PoDoFo;

PdfMemDocument pdf("document.pdf");
int pageCount = pdf.GetPageCount();
for (int i = 0; i < pageCount; ++i) {
    PdfPage* page = pdf.GetPage(i);
    PdfContentsTokenizer tokenizer(page);

    const char* token = nullptr;
    PdfVariant var;
    EPdfContentsType type;

    while (tokenizer.ReadNext(type, token, var)) {
        if (type == ePdfContentsType_Keyword) {
            printf("Operator: %s\n", token);
        } else if (type == ePdfContentsType_Variant) {
            // Examine var as needed
        }
    }
}

 

C++ API를 통해 PDF에 디지털 서명 추가하기?

공식 문서를 다룰 때 보안은 가장 중요합니다. PoDoFo 라이브러리는 PDF 파일에 디지털 서명을 추가하는 기능을 지원하여 문서의 진위와 무결성을 보장합니다. 이는 계약서, 청구서 및 기타 법적 문서에 특히 유용합니다. 전체 디지털 서명 예제는 복잡하고 유효한 인증서가 필요하지만, 다음 개념 코드가 그 과정을 보여줍니다.

C++를 사용하여 PDF에 디지털 서명을 추가하는 방법?

 // Conceptual Code - Not a complete working example
#include 

using namespace PoDoFo;

int main() {
    PdfMemDocument document("unsigned.pdf");
    PdfPage* pPage = document.GetPage(0);

    // Create a signature field
    PdfSignatureField sigField(pPage,
        PdfRect(100, pPage->GetPageSize().GetHeight() - 100, 200, 50),
        &document);

    // Set signature properties
    // ...

    // Sign the document using a custom signer implementation
    // MySigner signer("my_certificate.pfx", "password");
    // document.Sign(sigField, signer);

    document.Write("signed.pdf");

    return 0;
}
 

폰트 처리 및 유니코드 지원

무료 PoDoFo 라이브러리는 TrueType 및 Type1 폰트를 포함한 다양한 폰트 유형에 대한 강력한 지원을 제공합니다. 라이브러리는 또한 폰트 서브셋팅을 처리하여 생성된 PDF의 파일 크기를 줄이는 데 도움을 줍니다. 또한 뛰어난 유니코드 지원을 통해 다양한 언어와 문자 집합을 사용할 수 있습니다. PDF 서명(PAdES-B 준수), RSA/ECDSA 암호화 및 비동기 또는 지연 서명 워크플로에 대한 완전한 지원을 제공합니다.

 한국인