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

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.

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");
Örnek kod tarafından oluşturulan çıktı

Örnek kod tarafından oluşturulan çıktı

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.

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");
Örnek kod tarafından oluşturulan çıktı

Örnek kod tarafından oluşturulan çıktı

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.

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.

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.

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.

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.

Ayrıca bakınız