IronPDF C# ile PDF'leri Nasıl Düzleştirilir
IronPDF, C# içinde Flatten() yöntemi ile PDF belgelerini düzleştirir, interaktif form alanlarını statik içeriğe dönüştürerek belgenin artık değiştirilemez hale gelmesini sağlar.
PDF belgeleri genellikle radyo düğmeleri, onay kutuları, metin kutuları ve listeler gibi doldurulabilir widget'larla etkileşimli formlar içerir. Bu belgeleri güvenlik veya arşivleme amaçları için düzenlenemeyen hale getirmek için PDF dosyasını düzleştirirsiniz. Bu, iş uygulamalarında, yasal belgelerde veya kalıcı kayıt gerektiren herhangi bir senaryoda PDF formları ile çalışırken uygulanır.
Hızlı Başlangıç: PDF'inizi Birkaç Satırda Düzleştirin
PDF belgelerini IronPDF kullanarak düzleştirin, tüm etkileşimleri kaldırın ve kalıcı, düzenlenemeyen içerik oluşturun. Bu C# kod parçası, mevcut bir PDF'yi yükler, tüm doldurulabilir widget'ları kaldırır ve güvenli belgeyi kaydeder.
-
IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
Bu kod parçacığını kopyalayın ve çalıştırın.
var pdf = IronPdf.PdfDocument.FromFile("input.pdf"); pdf.Flatten(); pdf.SaveAs("flattened.pdf"); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
Asgari İş Akışı (5 adım)
- IronPDF'i NuGet Package Manager'dan yükleyin
- Mevcut PDF'yi yükleyin veya HTML'den yeni bir PDF oluşturun
Flattenyöntemini çağırın- Düzleştirilmiş PDF belgesini kaydedin
- Form alanlarının kaldırıldığını doğrulayın
Bir PDF Belgesini C# ile Nasıl Düzleştiririm?
IronPDF kurulduktan sonra, tek bir yöntem çağrısı ile PDF dosyalarını düzleştirebilirsiniz. Süreç, mevcut PDF belgeleri üzerinde çalışır ve düzleştirme öncesi HTML dosyalarından işlenmiş PDF'ler üzerinde çalışır.
Aşağıdaki kod örneği, mevcut bir PDF'yi yüklemek için PdfDocument sınıfını kullanır. Dinamik PDF oluşturma için, formu düzleştirmeden önce ChromePdfRenderer sınıfı ile render edin.
Bir PDF dosyasını düzleştirmek için Flatten yöntemini çağırın. Bu, belgeyi düzenlenemez hale getirerek radyo düğmeleri, işaret kutuları ve metin alanları dahil tüm etkileşimli widget'ları kaldırır.
Giriş
:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-flatten-pdf.cs
using IronPdf;
// Select the desired PDF File
PdfDocument pdf = PdfDocument.FromFile("before.pdf");
// Flatten the pdf
pdf.Flatten();
// Save as a new file
pdf.SaveAs("after_flatten.pdf");
Imports IronPdf
' Select the desired PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("before.pdf")
' Flatten the pdf
pdf.Flatten()
' Save as a new file
pdf.SaveAs("after_flatten.pdf")
Çıktı
Karmaşık senaryolar için, düzleştirmeden önce belirli sayfaları düzleştirin veya form verilerini ayarlayın. Yalnızca bu sayfaları düzleştirmek için sıfır tabanlı sayfa dizinleri listesini geçin:
:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-3.cs
using IronPdf;
// Load a PDF with fillable forms
PdfDocument pdf = PdfDocument.FromFile("form-document.pdf");
// Optionally, pre-fill form fields by name before flattening
pdf.Form.FindFormField("name").Value = "John Doe";
pdf.Form.FindFormField("email").Value = "john@example.com";
// Flatten only pages 1-3, passing their zero-based indexes
pdf.Flatten(new[] { 0, 1, 2 });
// Save the result
pdf.SaveAs("flattened-form.pdf");
Imports IronPdf
' Load a PDF with fillable forms
Dim pdf As PdfDocument = PdfDocument.FromFile("form-document.pdf")
' Optionally, pre-fill form fields by name before flattening
pdf.Form.FindFormField("name").Value = "John Doe"
pdf.Form.FindFormField("email").Value = "john@example.com"
' Flatten only pages 1-3, passing their zero-based indexes
pdf.Flatten(New Integer() {0, 1, 2})
' Save the result
pdf.SaveAs("flattened-form.pdf")
PDF'in Düzleştirildiğini Nasıl Doğrularım?
Aşağıdaki çıktı, önceki ve sonraki durumları gösterir. İlk PDF, düzenlenebilir form alanları içerir. Düzleştirme yöntemi çalıştırıldıktan sonra belge düzenlenemez hale gelir. Bu kod, Blazor uygulamaları dahil olmak üzere herhangi bir .NET projesinde çalışır.
Flatten yöntemi kullanıldıktan sonra algılanamaz durumda olacaktır.Başarılı düzleştirmeyi doğrulamak için form alanı sayısını kontrol edin:
:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-4.cs
using IronPdf;
// Load the flattened PDF
PdfDocument flattenedPdf = PdfDocument.FromFile("flattened.pdf");
// FormFieldCollection exposes Count directly on the Form property
if (flattenedPdf.Form.Count == 0)
{
Console.WriteLine("PDF has been successfully flattened - no interactive fields remain.");
}
else
{
Console.WriteLine($"Warning: {flattenedPdf.Form.Count} form fields still exist.");
}
Imports IronPdf
' Load the flattened PDF
Dim flattenedPdf As PdfDocument = PdfDocument.FromFile("flattened.pdf")
' FormFieldCollection exposes Count directly on the Form property
If flattenedPdf.Form.Count = 0 Then
Console.WriteLine("PDF has been successfully flattened - no interactive fields remain.")
Else
Console.WriteLine($"Warning: {flattenedPdf.Form.Count} form fields still exist.")
End If
IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.
Düzleştirildikten Sonra Form Alanlarına Ne Olur?
Bir PDF belgesini düzleştirdiğinizde, her etkileşimli form öğesi sayfa içeriğinin bir parçası haline gelir. Form alanları statik metin ve grafiklere dönüşür:
- Metin alanları, sayfada normal metin haline gelir
- Onay kutuları ve radyo düğmeleri, seçilen durumlarını gösteren statik görüntüler haline gelir
- Açılır menüler, yalnızca seçili değeri düz metin olarak gösterir
- Dijital imzalar, görsel olarak korunur ancak kriptografik doğrulamayı kaybeder
Bu süreç geri döndürülemez. Gelecekte düzenleme yeteneklerine ihtiyacınız varsa, orijinal etkileşimli PDF'nin bir kopyasını saklayın. Düzleştirme, metin ve vektör içeriğini seçilebilir halde tutar, her sayfayı düz bir resme dönüştüren sayfaların resimlere dönüştürülmeleri durumundan farklıdır. Hem güvenlik hem de düzenlenebilirlik gerektiren belgeler için, düzleştirme yerine PDF izinlerini ve şifrelerini kullanın.
PDF Belgelerimi Ne Zaman Düzleştirmeliyim?
Düzleştirme için yaygın durumlar:
-
Yasal Belge Arşivleme: İçerik değişikliğini önlemek ve yasal bütünlüğü korumak için imzaladıktan sonra sözleşmeleri ve anlaşmaları düzleştirin.
-
Rapor Dağıtımı: Dağıtımdan önce hesaplanan alanlarla finansal raporları ve veri sayfalarını düzleştirin, yanlışlık yapmayı önlemek için.
-
Form Gönderimi İşleme: Kullanıcılar çevrimiçi formları tamamladıktan sonra PDF'leri düzleştirerek kalıcı kayıtlar oluşturun.
-
Baskı Optimizasyonu: Düzleştirilmiş PDF'ler, yazıcılar etkileşimli unsurları işlemediği için daha güvenilir biçimde yazdırılır.
- Dosya Boyutunu Azaltma: Düzleştirme, form alanı veri yapılarının kaldırılmasıyla dosya boyutunu azaltabilir, bu da PDF sıkıştırmasıyla iyi bir eşleşme sağlar.
İşte birden çok tamamlanmış formun arşivlenmesi için toplu işlem örneği:
using IronPdf;
using System.IO;
public class BatchPdfFlattener
{
public static void FlattenAllPdfsInDirectory(string sourceDir, string outputDir)
{
// Ensure output directory exists
Directory.CreateDirectory(outputDir);
// Get all PDF files in source directory
string[] pdfFiles = Directory.GetFiles(sourceDir, "*.pdf");
foreach (string pdfFile in pdfFiles)
{
try
{
// Load the PDF
PdfDocument pdf = PdfDocument.FromFile(pdfFile);
// Flatten the document
pdf.Flatten();
// Save to output directory with "_flattened" suffix
string fileName = Path.GetFileNameWithoutExtension(pdfFile);
string outputPath = Path.Combine(outputDir, $"{fileName}_flattened.pdf");
pdf.SaveAs(outputPath);
Console.WriteLine($"Flattened: {fileName}");
}
catch (Exception ex)
{
Console.WriteLine($"Error processing {pdfFile}: {ex.Message}");
}
}
}
}
using IronPdf;
using System.IO;
public class BatchPdfFlattener
{
public static void FlattenAllPdfsInDirectory(string sourceDir, string outputDir)
{
// Ensure output directory exists
Directory.CreateDirectory(outputDir);
// Get all PDF files in source directory
string[] pdfFiles = Directory.GetFiles(sourceDir, "*.pdf");
foreach (string pdfFile in pdfFiles)
{
try
{
// Load the PDF
PdfDocument pdf = PdfDocument.FromFile(pdfFile);
// Flatten the document
pdf.Flatten();
// Save to output directory with "_flattened" suffix
string fileName = Path.GetFileNameWithoutExtension(pdfFile);
string outputPath = Path.Combine(outputDir, $"{fileName}_flattened.pdf");
pdf.SaveAs(outputPath);
Console.WriteLine($"Flattened: {fileName}");
}
catch (Exception ex)
{
Console.WriteLine($"Error processing {pdfFile}: {ex.Message}");
}
}
}
}
Imports IronPdf
Imports System.IO
Public Class BatchPdfFlattener
Public Shared Sub FlattenAllPdfsInDirectory(sourceDir As String, outputDir As String)
' Ensure output directory exists
Directory.CreateDirectory(outputDir)
' Get all PDF files in source directory
Dim pdfFiles As String() = Directory.GetFiles(sourceDir, "*.pdf")
For Each pdfFile As String In pdfFiles
Try
' Load the PDF
Dim pdf As PdfDocument = PdfDocument.FromFile(pdfFile)
' Flatten the document
pdf.Flatten()
' Save to output directory with "_flattened" suffix
Dim fileName As String = Path.GetFileNameWithoutExtension(pdfFile)
Dim outputPath As String = Path.Combine(outputDir, $"{fileName}_flattened.pdf")
pdf.SaveAs(outputPath)
Console.WriteLine($"Flattened: {fileName}")
Catch ex As Exception
Console.WriteLine($"Error processing {pdfFile}: {ex.Message}")
End Try
Next
End Sub
End Class
Sonuç
Düzleştirme, PDF'nin etkileşimli form alanlarını Flatten() çağrısı ile statik sayfa içeriğine dönüştürerek belgeyi daha fazla düzenlemeye karşı kilitler. Verileri daha sonra değiştirme ihtimaliniz varsa, bu işlem geri alınamayacağından düzleştirilmemiş bir kopyayı saklayın.
Önce alanları doldurmanız gerekiyorsa, düzleştirmeden önce form değerlerini ayarlayın; kilitli belgeler oluşturmak için ardından birleştirin veya bölün.
Kütüphaneye Hızlı Erişim
Daha Fazla Dokümantasyonu Oku
PDF'leri nasıl düzleştireceğiniz, düzenleyeceğiniz ve manipüle edeceğiniz hakkında daha fazla bilgi için Dokümantasyonu okuyun.
IronPDF Dokümanlarını Ziyaret EdinBaşka neler yapabileceğinizi görmek için hazır mısınız? Öğretici sayfamızdan daha fazla özelliği burada kontrol edin: Ek Özellikler
Sıkça Sorulan Sorular
PDF'yi düzleştirmek ne anlama gelir?
Bir PDF'yi düzleştirmek, onay kutuları, metin kutuları ve radyo düğmeleri gibi tüm etkileşimli form alanlarını statik, düzenlenemez içeriğe dönüştürür. IronPDF, belge bütünlüğünü sağlamak ve daha fazla değişiklikleri önlemek için bu işlevi sağlar.
C#'ta bir PDF'yi nasıl düzleştiririm?
IronPDF ile üç ifade ile bir PDF'yi düzleştirin: var pdf = IronPdf.PdfDocument.FromFile('input.pdf'); sonra pdf.Flatten(); sonra pdf.SaveAs('flattened.pdf'). Bu, PDF'yi yükler, tüm etkileşimli öğeleri kaldırır ve güvenli belgeyi kaydeder.
Belgenin tamamı yerine belirli sayfaları düzleştirebilir miyim?
Evet, sıfır tabanlı sayfa indekslerinin bir listesini Flatten yöntemine geçirin. Örneğin, pdf.Flatten(new[] { 0, 1, 2 }) sadece 0, 1 ve 2 sayfalarını düzleştirir, kalan sayfaları etkileşimli bırakır.
Hangi tür form alanları düzleştirilebilir?
IronPDF, radyo düğmeleri, onay kutuları, metin alanları, açılır listeler ve diğer tüm doldurulabilir form öğelerini kalıcı statik içeriğe dönüştürerek düzleştirebilir.
PDF'i düzleştirmeden önce form alanlarını doldurabilir miyim?
Evet, IronPDF form alanlarını düzleştirmeden önce önceden doldurmanıza izin verir. Flatten yöntemini çağırmadan önce pdf.Form.FindFormField('name').Value = 'John Doe' gibi değerleri ayarlayarak tamamlanmış, düzenlenemez bir belge oluşturabilirsiniz.
PDF düzleştirme süreci hangi render motorunu kullanıyor?
IronPDF, karmaşık formların düzleştirilmeden önce doğru şekilde render edilmesini sağlamak için bir Chrome render motoru kullanır ve bu süreç boyunca belgelerinizin görsel bütünlüğünü korur.
Bir PDF belgesini neden düzleştirmem gerekiyor?
IronPDF ile PDF'i düzleştirmek, güvenlik, arşivleme amaçları, yasal belgeler veya form verilerinde daha fazla değişiklik yapılmasının önlenmesinin gerektiği durumlar için gereklidir.

