C# .NET'te Etiketli PDF Dosyaları Oluşturun

Etiketli bir PDF dosyası, belgedeki içeriğin mantıksal yapısını tanımlamak için etiketleri kullanan bir PDF türüdür. Yardımcı teknolojileri ve ekran okuyucuları kullananların okuma deneyimini geliştirmek için kullanılır. Bir önceki gönderide, bir .NET uygulamasında PDF dosyaları oluşturmayı ele aldık. Bu makalede, C# .NET’te programlı olarak etiketli PDF dosyalarının nasıl oluşturulacağını göstereceğiz.

Etiketli PDF Oluşturmak için C# .NET API - Ücretsiz İndirme

Aspose.PDF for .NET, .NET uygulamaları içinde PDF oluşturma ve işleme için sağlam bir API’dir. API’yi kullanarak, basit ve karmaşık mizanpajlara sahip PDF dosyalarını sorunsuz bir şekilde oluşturabilir, işleyebilir ve dönüştürebilirsiniz. API ikili dosyalarını indirebilir veya NuGet kullanarak yükleyebilirsiniz.

PM> Install-Package Aspose.PDF

C# .NET’te Etiketli PDF Dosyası Oluşturma

Aspose.PDF for .NET, etiketli bir PDF’de yapı öğeleri oluşturmak için ITaggedContent arayüzünü sağlar. C# dilinde etiketli bir PDF dosyası oluşturmak için bu arabirimi nasıl kullanacağımızı görelim.

Aşağıdaki kod örneği, C# dilinde etiketli bir PDF’nin nasıl oluşturulacağını gösterir.

// PDF belgesi oluştur
Document document = new Document();

// Etiketli PDF ile çalışmak için İçerik Alın
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Belge için başlık ve dil belirleyin
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Başlık ekle
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// paragraf ekle
ParagraphElement paragraphElement = taggedContent.CreateParagraphElement();
paragraphElement.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");

rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphElement);

// Etiketli PDF'yi kaydet
document.Save("tagged-pdf.pdf");

Yukarıdaki kod örneğinin çıktısı aşağıdadır.

C#'ta Etiketli PDF Dosyası Oluşturma

C# İç İçe Öğelerle Etiketli PDF Oluşturma

Önceki örnekte, paragraf içeren basit bir etiketli PDF oluşturduk. Şimdi etiketli bir PDF’de iç içe öğelerin nasıl ekleneceğine bir göz atalım. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

Aşağıdaki kod örneği, C# dilinde etiketli bir PDF’ye iç içe öğelerin nasıl ekleneceğini gösterir.

// PDF belgesi oluştur
Document document = new Document();

// Etiketli PDF ile çalışmak için içerik alın
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Belge için başlık ve dil belirleyin
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Başlık ekle
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Paragraf oluştur
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// Yayılma öğesi ekle
SpanElement spanElement1 = taggedContent.CreateSpanElement();
spanElement1.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.CreateQuoteElement();
quoteElement.SetText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.StructureTextState.FontStyle = FontStyles.Bold | FontStyles.Italic;
SpanElement spanElement2 = taggedContent.CreateSpanElement();
spanElement2.SetText(" Sed non consectetur elit.");

// paragrafa ekle
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Kök öğeye ekle
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Etiketli PDF'yi kaydet
document.Save("tagged-pdf-nested-elements.pdf");

Aşağıdaki ekran görüntüsü, etiketlenmiş PDF’yi iç içe öğelerle gösterir.

C#'ta İç İçe Öğelerle Etiketli PDF Oluşturma

C#’ta Etiketli Bir PDF’de Metin Yapısını Şekillendirme

Yazı tipi stilini, ailesini, boyutunu vb. ayarlayarak etiketli bir PDF’deki metne stil uygulayabilirsiniz. Bunun için Aspose.PDF for .NET Font, FontSize, [FontStyle] sağlar. StructureTextState sınıfının 25 ve ForegroundColor özellikleri. Aşağıdaki kod örneği, C# dilinde etiketli bir PDF’de metin stilinin nasıl uygulanacağını gösterir.

// PDF belgesi oluştur
Document document = new Document();

// Etiketli PDF ile çalışmak için içerik alın
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Belge için başlık ve dil belirleyin
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Başlık ekle
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Paragraf oluştur
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Stili ayarla
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Yazı ekle
paragraphWithQuotes.SetText("Red italic text.");

// Etiketli PDF'yi kaydet
document.Save("tagged-pdf-text-styling.pdf");

Etiketli bir PDF’de C# Yapı Elemanlarını Gösterme

Aspose.PDF for .NET, yapı elemanlarını göstermek için IllustrationElement sınıfını sağlar. Aşağıdaki kod örneği, etiketli bir PDF’deki yapı öğelerini göstermek için bu sınıfın nasıl kullanılacağını gösterir.

// PDF belgesi oluştur
Document document = new Document();

// Etiketli PDF ile çalışmak için içerik alın
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Belge için başlık ve dil belirleyin
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

IllustrationElement figure1 = taggedContent.CreateFigureElement();
taggedContent.RootElement.AppendChild(figure1);
figure1.AlternativeText = "Figure One";
figure1.Title = "Image 1";
figure1.SetTag("Fig1");
figure1.SetImage("aspose_pdf.png");

// Etiketli PDF'yi kaydet
document.Save("tagged-pdf-illustrating-structure.pdf");

Etiketli PDF Oluşturmak için C# API’si - Ücretsiz Lisans Alın

Aspose.PDF for .NET’i değerlendirme sınırlamaları olmadan kullanmak için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, C# dilinde etiketli PDF dosyalarının nasıl oluşturulacağını öğrendiniz. Ayrıca, etiketli bir PDF’de programlı olarak iç içe öğeler oluşturmayı, metne stil uygulamayı ve yapı öğelerini göstermeyi gördünüz. Ayrıca, belgeleri kullanarak .NET PDF API hakkında daha fazlasını keşfedebilirsiniz. Herhangi bir sorunuz veya sorunuz olması durumunda forumumuz aracılığıyla bizimle iletişime geçebilirsiniz.

Ayrıca bakınız