Bir PDF dosyasındaki yer imleri, belgedeki ilgi noktalarını işaretlemeye yardımcı olur. Bunlar, belgede belirli bir noktaya hızlı bir şekilde atlamanızı sağlar. Kendinizi bir PDF dosyasındaki yer imlerini programlı olarak eklemeniz, okumanız, değiştirmeniz veya silmeniz gereken durumlarda bulabilirsiniz. Bu nedenle, bu makale size C++ kullanarak PDF dosyalarındaki yer imleriyle nasıl çalışacağınızı öğretecektir.
- PDF Dosyalarında Yer İşaretleriyle Çalışmak için C++ API
- C++ kullanarak PDF Dosyalarına Yer İmleri Ekleyin
- PDF Dosyalarına İç İçe Yer İşaretleri Ekleyin
- C++ kullanarak bir PDF Dosyasından Yer İmlerini Okuyun
- C++ kullanarak Yer İşareti Başlığını Değiştirin
- C++ kullanarak Belirli bir Yer İmini Silme
- C++ kullanarak bir PDF Dosyasındaki tüm Yer İmlerini silin
- Ücretsiz Lisans Alın
PDF Dosyalarında Yer İşaretleriyle Çalışmak için C++ API
Aspose.PDF for C++, PDF belgeleri oluşturmanıza, okumanıza ve güncellemenize olanak tanıyan bir C++ kitaplığıdır. Ayrıca API, PDF dosyalarından yer imleri eklemeyi, okumayı, değiştirmeyi ve kaldırmayı destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan indirilenler bölümünden indirebilirsiniz.
PM> Install-Package Aspose.PDF.Cpp
C++ kullanarak PDF Dosyalarına Yer İmleri Ekleyin
Aşağıdakiler, bir PDF dosyasına yer imi ekleme adımlarıdır.
- Öncelikle, PdfBookmarkEditor sınıfının bir örneğini oluşturun.
- PdfBookmarkEditor->BindPdf(System::SharedPtr) kullanarak PDF belgesini yükleyinAspose::Pdf::Document srcDoc) yöntemi.
- PdfBookmarkEditor->CreateBookmarkOfPage(System::String bookmarkName, int32t pageNumber) yöntemini kullanarak yer imini oluşturun.
- PdfBookmarkEditor->Save(System::String destFile) yöntemini kullanarak PDF belgesini kaydedin.
Aşağıdaki örnek kod, C++ kullanarak bir PDF dosyasına nasıl yer işareti ekleneceğini gösterir.
// PdfBookmarkEditor sınıfının bir örneğini oluşturun
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF belgesini yükleyin
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Yer İşaretini Oluştur
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// PDF belgesini kaydedin
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
PDF Dosyalarına İç İçe Yer İşaretleri Ekleyin
Aspose.PDF for C++ API’yi kullanarak iç içe geçmiş yer imleri de ekleyebilirsiniz. İç içe yer imleri ekleme adımları aşağıdadır.
- PdfBookmarkEditor sınıfının bir örneğini oluşturun.
- PdfBookmarkEditor->BindPdf(System::SharedPtr) kullanarak PDF belgesini yükleyinAspose::Pdf::Document srcDoc) yöntemi.
- Yer İmi sınıfını kullanarak yer imleri oluşturun.
- Alt yer işaretlerini Yer İmleri sınıfının örneğine ekleyin ve bookmark->setChildItems(System::SharedPtr) kullanarak onu üst yer iminin alt öğesi olarak ayarlayın. değer) yöntemi.
- PdfBookmarkEditor->CreateBookmarks(System::SharedPtr) kullanarak yer imlerini PDF belgesine ekleyin yer imi) yöntemi.
- Son olarak, PdfBookmarkEditor->Save(System::String destFile) yöntemini kullanarak PDF belgesini kaydedin.
Aşağıdaki örnek kod, C++ kullanılarak bir PDF dosyasına iç içe yer imlerinin nasıl ekleneceğini gösterir.
// PdfBookmarkEditor sınıfının bir örneğini oluşturun
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF belgesini yükleyin
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// 1. Çocuk Yer İşareti Oluştur
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// 2. Çocuk Yer İşareti Oluştur
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// Ebeveyn Yer İşareti Oluştur
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm->set_Action(u"GoTo");
bm->set_PageNumber(1);
bm->set_Title(u"Parent");
// Alt Yer İmlerini Ayarlayın
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// Yer İşaretlerini PDF dosyasına ekleyin
editor->CreateBookmarks(bm);
// PDF belgesini kaydedin
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
C++ kullanarak bir PDF Dosyasından Yer İmlerini Okuyun
Yer imlerini okumak için PdfBookmarkEditor->ExtractBookmarks() yöntemini kullanın. Aşağıdakiler, bir PDF dosyasından yer imlerini okuma adımlarıdır.
- PdfBookmarkEditor sınıfının bir örneğini oluşturun.
- PdfBookmarkEditor->BindPdf(System::SharedPtr) kullanarak PDF belgesini yükleyinAspose::Pdf::Document srcDoc) yöntemi.
- PdfBookmarkEditor->ExtractBookmarks() yöntemini kullanarak tüm yer imlerini alın.
- Tek tek yer imlerini almak için yer imleri arasında dolaşın.
- Yer imlerinin özelliklerini okuyun.
Aşağıdaki örnek kod, C++ kullanılarak bir PDF dosyasından yer imlerinin nasıl okunacağını gösterir.
// PdfBookmarkEditor sınıfının bir örneğini oluşturun
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF belgesini yükleyin
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Tüm Yer İşaretlerini al
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// Yer İmleri arasında dolaşın
for (System::SharedPtr<Bookmark> bm : bms) {
// Yer İminin başlığını göster
Console::WriteLine(bm->get_Title());
// Yer İminin hedefini göster
Console::WriteLine(bm->get_Destination());
}
C++ kullanarak Yer İşareti Başlığını Değiştirin
Aşağıda, bir PDF dosyasındaki mevcut bir yer iminin başlığını değiştirme adımları yer almaktadır.
- PdfBookmarkEditor sınıfının bir örneğini oluşturun.
- PdfBookmarkEditor->BindPdf(System::SharedPtr) kullanarak PDF belgesini yükleyinAspose::Pdf::Document srcDoc) yöntemi.
- PdfBookmarkEditor->ModifyBookmarks(System::String sTitle, System::String dTitle) yöntemini kullanarak yer iminin başlığını değiştirin.
- PdfBookmarkEditor->Save(System::String destFile) yöntemini kullanarak PDF belgesini kaydedin.
Aşağıdaki örnek kod, bir PDF dosyasındaki mevcut bir yer iminin başlığının nasıl değiştirileceğini gösterir.
// PdfBookmarkEditor sınıfının bir örneğini oluşturun
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF belgesini yükleyin
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Yer İşareti başlığını değiştir
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// PDF belgesini kaydedin
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
C++ kullanarak Belirli bir Yer İmini Silme
API, belirli bir yer imini bir PDF dosyasından silmek için PdfBookmarkEditor->DeleteBookmarks(System::String title) yöntemini sağlar. Belirli bir yer imini silme adımları aşağıdadır.
- PdfBookmarkEditor sınıfının bir örneğini oluşturun.
- PdfBookmarkEditor->BindPdf(System::SharedPtr) kullanarak PDF belgesini yükleyinAspose::Pdf::Document srcDoc) yöntemi.
- PdfBookmarkEditor->DeleteBookmarks(System::String title) yöntemini kullanarak istediğiniz yer imini silin.
- PdfBookmarkEditor->Save(System::String destFile) yöntemini kullanarak PDF belgesini kaydedin.
Aşağıdaki örnek kod, C++ kullanarak belirli bir yer iminin nasıl silineceğini gösterir.
// PdfBookmarkEditor sınıfının bir örneğini oluşturun
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF belgesini yükleyin
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Belirli bir Yer İmini silin
editor->DeleteBookmarks(u"bookmark for page 1");
// PDF belgesini kaydedin
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
C++ kullanarak bir PDF Dosyasındaki tüm Yer İmlerini silin
Yer imlerini teker teker silmek yerine PdfBookmarkEditor->DeleteBookmarks() yöntemini kullanarak tüm yer imlerini bir kerede kaldırabilirsiniz. Bir PDF dosyasındaki tüm yer imlerini silme adımları aşağıdadır.
- PdfBookmarkEditor sınıfının bir örneğini oluşturun.
- PdfBookmarkEditor->BindPdf(System::SharedPtr) kullanarak PDF belgesini yükleyinAspose::Pdf::Document srcDoc) yöntemi.
- PdfBookmarkEditor->DeleteBookmarks() yöntemini kullanarak tüm yer imlerini silin.
- PdfBookmarkEditor->Save(System::String destFile) yöntemini kullanarak PDF belgesini kaydedin.
Bir PDF dosyasındaki tüm yer imlerini silmek için örnek kod aşağıdadır.
// PdfBookmarkEditor sınıfının bir örneğini oluşturun
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// PDF belgesini yükleyin
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Tüm Yer İşaretlerini Sil
editor->DeleteBookmarks();
// PDF belgesini kaydedin
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
Ücretsiz Lisans Alın
Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.
Çözüm
Bu makalede, C++ kullanarak PDF dosyalarındaki yer imleriyle nasıl çalışacağınızı öğrendiniz. Özellikle, bir PDF dosyasındaki yer imlerini nasıl ekleyeceğinizi, okuyacağınızı, değiştireceğinizi ve sileceğinizi öğrendiniz. Ayrıca, Aspose.PDF for C++ API kullanarak iç içe geçmiş yer imlerinin nasıl ekleneceğini gördünüz. API, resmi belgeleri kullanarak ayrıntılı olarak keşfedebileceğiniz, PDF dosyalarıyla çalışmak için birçok ek özellik sağlar. Herhangi bir sorunuz varsa, lütfen [ücretsiz destek forumu] üzerinden bizimle iletişime geçmekten çekinmeyin]37.