Przejdź do treści stopki
NARZęDZIA PDF

Jak konwertować PDF na PDF/A w C++

Przenosny Format Dokumentow (PDF) stal sie preferowanym formatem do udostepniania dokumentow na roznych platformach. Jednakze wraz ze wzrastajaca waznoscia archiwizacji cyfrowej, rosnie potrzeba archiwizacji dokumentow w standardowym formacie, ktory zapewnia dlugoterminowe przechowywanie i dostepnosc. Format PDF/A (PDFA) jest specjalnie zaprojektowany do tego celu, oferujac stabilny i samodzielny format, ktory nadaje sie do archiwizacji.

Zrozumienie formatu PDF/A

PDF/A, wariant PDF o standardzie ISO, jest zaprojektowany do przechowywania dokumentow w czasie, zachowujac dostepnosc i integralnosc tresci. W przeciwienstwie do zwyklego pliku PDF, plik PDF/A ma okreslone ograniczenia, ktore zapewniaja jego solidnosc i niezaleznosc.

Ten artykul prowadzi cie przez proces konwersji dokumentow PDF na format PDF/A przy uzyciu biblioteki QPDF w C++. QPDF, potężna biblioteka C++, umożliwia programistom programowe zarządzanie i konwersję dokumentów PDF, w tym konwersję PDF do PDF/A, za pomocą zaledwie kilku linii kodu.

Biblioteka QPDF w C++

QPDF to biblioteka C++ i narzędzie wiersza poleceń zaprojektowane do wspomagania pracy z plikami PDF, ich transformacji i analizowania. Pozwala programistom na programowy dostęp i manipulację zawartością plików PDF, z szerokim zakresem wsparcia. QPDF to projekt open-source, który oferuje szereg funkcji, w tym szyfrowanie, deszyfrowanie, linearizację, optymalizację oraz zgodność z formatem PDF/A.

Wymagania wstępne

Przed rozpoczęciem pracy upewnij się, że masz ustawione następujące elementy:

  1. Code::Blocks IDE: Pobierz i zainstaluj Code::Blocks z oficjalnej strony internetowej (Oficjalna Strona Code::Blocks).
  2. Biblioteka QPDF: Pobierz najnowszą wersję biblioteki QPDF dla swojego systemu operacyjnego ze strony QPDF (Oficjalna Strona QPDF).

Tworzenie projektu PDF do PDF/A

  1. Otwórz Code::Blocks: Uruchom IDE Code::Blocks na swoim komputerze.
  2. Utwórz Nowy Projekt: Kliknij Plik w górnym menu, a następnie wybierz Nowy, a potem Projekt.
  3. Wybierz Typ Projektu: W oknie Nowy z szablonu wybierz Aplikacja konsolowa i kliknij Idź. Wybierz język C/C++ i kliknij Dalej.
  4. Podaj Szczegóły Projektu: Podaj nazwę projektu w polu Tytuł projektu (np. "PDFtoPDFA"). Wybierz miejsce do zapisania plików projektu i kliknij Dalej.
  5. Wybierz Kompilator: Wybierz kompilator, a jeśli to konieczne, ręcznie wybierz jeden z listy. Kliknij Zakończ.

Dodawanie QPDF do Projektu

Aby uwzględnić pliki nagłówkowe QPDF w Code::Blocks, wykonaj następujące kroki:

  1. Kliknij Projekt w menu.
  2. Wybierz Opcje budowania z menu kontekstowego.
  3. W oknie Opcje budowania przejdź do zakładki Katalogi wyszukiwania.
  4. W zakładce Kompilator kliknij przycisk Dodaj i przejdz do katalogu zawierającego pliki nagłówkowe QPDF (zazwyczaj znajduje się w folderze include).
  5. Następnie w zakładce Link kliknij przycisk Dodaj i uwzględnij katalogi lib i bin.
  6. Kliknij OK, aby zamknąć okno Opcje budowania.

Dodatkowo, musisz ustanowić połączenie z biblioteką QPDF podczas fazy linkowania. Postępuj zgodnie z poniższymi wskazówkami:

  1. W oknie Opcje budowania przejdź do zakładki Ustawienia linkera.
  2. W sekcji Biblioteki linków kliknij przycisk Dodaj, a następnie wyszukaj katalog z plikami biblioteki QPDF (zazwyczaj z rozszerzeniem .a lub .lib w systemie Windows).
  3. Kliknij Dodaj ponownie i podaj nazwę biblioteki QPDF (np. libqpdf.a lub qpdf.lib).
  4. Kliknij OK, aby zamknąć okno Opcje budowania.

Kroki do Konwersji Pliku PDF na PDF/A

Dodaj Niezbędne Pliki Nagłówkowe

#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
C++

Ustaw Ścieżki dla Plików Wejściowych i Wyjściowych

W funkcji main (punkt startowy programu C++) ustaw ścieżki do plików wejściowych i wyjściowych:

std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";

// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";

// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
C++

Utwórz Obiekt QPDF dla Pliku PDF

QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());

// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());

// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
C++

Utwórz Obiekt QPDFWriter dla Zapisu Pliku PDF/A

QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

// This creates a QPDFWriter object to handle writing the converted PDF/A file.
QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

// This creates a QPDFWriter object to handle writing the converted PDF/A file.
C++

Ustaw Zgodność PDF/A i Przekonwertuj Dokumenty PDF

writer.setQDFMode(true);
writer.write();

// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
writer.setQDFMode(true);
writer.write();

// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
C++

Wynik

Plik wyjściowy jest nieedytowalny i zgodny z PDF/A:

Jak Przekonwertować PDF na PDF/A w C++: Rysunek 2

Convert PDF to PDF/A in C

Biblioteka IronPDF to biblioteka PDF dla .NET, która zapewnia kompleksowe funkcjonalności do pracy z dokumentami PDF. Umożliwia programistom tworzenie, modyfikację i konwersję dokumentów PDF za pomocą C# lub VB.NET. Użytkownicy mogą używać IronPDF do generowania plików PDF z HTML, ASPX, dokumentów Word (.doc) lub obrazów dynamicznie oraz wprowadzanie bogatych elementów, takich jak wykresy, tabele i dane obrazów (jak formaty JPG, PNG). Pozwala również na scalanie, dzielenie i edytowanie stron istniejących plików PDF, jak również na ekstrakcję tekstu i manipulację zawartością danych PDF.

IronPDF ułatwia konwersję PDF do formatu PDF/A-3b standard zaledwie kilkoma liniami kodu. Poniższy kod pomaga w realizacji tego zadania:

using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);

// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);

// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
Imports IronPdf

' Create a PdfDocument object or open any PDF file
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)

' The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
$vbLabelText   $csharpLabel

Wnioski

Ten artykuł prowadzi cię przez konwersję standardowego dokumentu PDF na format PDF/A przy użyciu bibliotek QPDF w C++. Zgodność z PDF/A zapewnia przechowywanie i dostępność treści, co czyni go idealnym do archiwizacji.

IronPDF obsługuje również różne formaty konwersji, takie jak HTML, obrazy i dokumenty Word na pliki PDF. Aby uzyskać więcej informacji, odwiedź Stronę Dokumentacji IronPDF.

IronPDF oferuje bezpłatną wersję próbną IronPDF do przetestowania funkcjonalności do produkcji komercyjnej. Pobierz bezpośrednio IronPDF.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie