Praca z adnotacjami w plikach PDF przy użyciu języka C++

Adnotacje to dodatkowe obiekty, które można dodawać do dokumentów PDF. Adnotacje mogą być przydatne w scenariuszach, takich jak dodawanie informacji kontekstowych do dokumentu. Ponieważ pliki PDF nie są łatwe do edycji, adnotacje dają możliwość dodania dodatkowych informacji do dokumentu. W tym artykule dowiesz się, jak dodawać, aktualizować i usuwać adnotacje w plikach PDF w C++.

C++ API do dodawania, aktualizowania i usuwania adnotacji PDF

Aspose.PDF for C++ to biblioteka C++, która umożliwia tworzenie, odczytywanie i aktualizowanie dokumentów PDF. Ponadto API wspiera pracę z adnotacjami w plikach PDF. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji downloads.

PM> Install-Package Aspose.PDF.Cpp

Dodaj adnotacje do pliku PDF w C++

Poniżej przedstawiono kroki dodawania adnotacji do plików PDF w języku C++.

Poniżej przedstawiono przykładowy kod służący do dodawania adnotacji do plików PDF przy użyciu języka C++.

// Utwórz instancję klasy PdfContentEditor
auto editor = MakeObject<Facades::PdfContentEditor>();

// Załaduj przykładowy plik PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Utwórz adnotację
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);

// Zapisz plik PDF
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");

Poniżej znajduje się obraz pliku zapisanego przez przykładowy kod.

Adnotacja dodana do pliku PDF

Obraz przedstawiający adnotację

C++ Czytaj adnotacje w pliku PDF

Poniżej przedstawiono kroki, aby przeczytać adnotacje w pliku PDF w C++.

Poniżej znajduje się przykładowy kod do odczytu adnotacji w plikach PDF przy użyciu języka C++.

// Utwórz instancję klasy PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Załaduj przykładowy plik PDF
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// Utwórz tablicę typów adnotacji
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });

// Wyodrębnij adnotacje
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::Annotations::Annotation>>> annotationList = annotationEditor->ExtractAnnotations(1, 2, annotationTypes);

// Przejrzyj adnotacje w pętli
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
	// Wyświetl treść adnotacji
	Console::WriteLine(annotation->get_Contents());
}

Edytuj adnotacje w formacie PDF w C++

Poniżej przedstawiono kroki edytowania i aktualizowania adnotacji w plikach PDF w języku C++.

Poniżej znajduje się przykładowy kod służący do modyfikowania adnotacji w plikach PDF przy użyciu języka C++.

// Utwórz wystąpienie przykładowego pliku PDF
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");

// Utwórz instancję klasy PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();

// Załaduj przykładowy dokument PDF
annotationEditor->BindPdf(document);

// Utwórz obiekt adnotacji
System::SharedPtr<Aspose::Pdf::Annotations::TextAnnotation> annotation = System::MakeObject<Aspose::Pdf::Annotations::TextAnnotation>(document->get_Pages()->idx_get(1), MakeObject<Aspose::Pdf::Rectangle>(200, 400, 400, 600));

// Ustaw datę modyfikacji
annotation->set_Modified(System::DateTime::get_Now());

// Ustaw tytuł
annotation->set_Title(u"NEW AUTHOR");

// Ustaw zawartość
annotation->set_Contents(u"NEW CONTENTS");

// Ustaw temat
annotation->set_Subject(u"NEW SUBJECT");

// Ustaw otwartą flagę
annotation->set_Open(true);

// Zmodyfikuj adnotację
annotationEditor->ModifyAnnotations(1, 1, annotation);

// Zapisz dokument
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

C++ Usuń adnotacje PDF

Aspose.PDF for C++ zapewnia następujące opcje usuwania adnotacji z plików PDF.

Usuń określoną adnotację PDF

Poniżej przedstawiono kroki, aby usunąć określoną adnotację z pliku PDF.

Poniżej przedstawiono przykładowy kod służący do usuwania określonej adnotacji z pliku PDF przy użyciu języka C++.

// Utwórz instancję klasy PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Załaduj istniejący dokument PDF
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Usuń adnotację według nazwy
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// Zapisz dokument
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Usuwanie adnotacji PDF według typu

Poniżej przedstawiono kroki usuwania adnotacji według typu z plików PDF.

Poniżej przedstawiono przykładowy kod służący do usuwania adnotacji według typu z plików PDF przy użyciu języka C++.

// Utwórz instancję klasy PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Załaduj istniejący dokument PDF
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Usuń adnotacje tekstowe
annotationEditor->DeleteAnnotations(u"Text");
// Zapisz dokument
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

Usuń wszystkie adnotacje PDF

Poniżej przedstawiono kroki, aby usunąć wszystkie adnotacje z plików PDF.

Poniżej przedstawiono przykładowy kod usuwający wszystkie adnotacje z plików PDF przy użyciu języka C++.

// Utwórz instancję klasy PdfAnnotationEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// Załaduj istniejący dokument PDF
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// Usuń wszystkie adnotacje
annotationEditor->DeleteAnnotations();
// Zapisz dokument
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");

C++ API do dodawania/aktualizowania/usuwania adnotacji PDF — uzyskaj bezpłatną licencję

Możesz wypróbować Aspose.PDF for C++ bez ograniczeń ewaluacyjnych, prosząc o darmową licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak pracować z adnotacjami w plikach PDF przy użyciu języka C++. W szczególności widziałeś, jak czytać, dodawać, edytować i usuwać adnotacje z pliku PDF w C++. Ponadto nauczyłeś się, jak usunąć określoną adnotację, adnotacje według typu lub wszystkie adnotacje za pomocą Aspose.PDF for C++. Interfejs API zapewnia szereg dodatkowych funkcji do pracy z plikami PDF. Możesz szczegółowo zapoznać się z interfejsem API, korzystając z oficjalnej dokumentacji. W przypadku jakichkolwiek pytań skontaktuj się z nami na naszym darmowym forum pomocy technicznej.

Zobacz też