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:
- Code::Blocks IDE: Pobierz i zainstaluj Code::Blocks z oficjalnej strony internetowej (Oficjalna Strona Code::Blocks).
- Biblioteka QPDF: Pobierz najnowszą wersję biblioteki QPDF dla swojego systemu operacyjnego ze strony QPDF (Oficjalna Strona QPDF).
Tworzenie projektu PDF do PDF/A
- Otwórz Code::Blocks: Uruchom IDE Code::Blocks na swoim komputerze.
- Utwórz Nowy Projekt: Kliknij Plik w górnym menu, a następnie wybierz Nowy, a potem Projekt.
- Wybierz Typ Projektu: W oknie Nowy z szablonu wybierz Aplikacja konsolowa i kliknij Idź. Wybierz język C/C++ i kliknij Dalej.
- Podaj Szczegóły Projektu: Podaj nazwę projektu w polu Tytuł projektu (np. "PDFtoPDFA"). Wybierz miejsce do zapisania plików projektu i kliknij Dalej.
- 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:
- Kliknij Projekt w menu.
- Wybierz Opcje budowania z menu kontekstowego.
- W oknie Opcje budowania przejdź do zakładki Katalogi wyszukiwania.
- W zakładce Kompilator kliknij przycisk Dodaj i przejdz do katalogu zawierającego pliki nagłówkowe QPDF (zazwyczaj znajduje się w folderze include).
- Następnie w zakładce Link kliknij przycisk Dodaj i uwzględnij katalogi lib i bin.
- 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:
- W oknie Opcje budowania przejdź do zakładki Ustawienia linkera.
- 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).
- Kliknij Dodaj ponownie i podaj nazwę biblioteki QPDF (np. libqpdf.a lub qpdf.lib).
- 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.
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.
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.
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.
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.
Wynik
Plik wyjściowy jest nieedytowalny i zgodny z PDF/A:

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.
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.

