C#'de Yazdırmadan Önce PDF'leri Düzenleme
IronPrint'in PrintSettings sınıfı, tüm etkileşimli form alanlarını, açıklamaları ve görüntü katmanlarını baskı zamanında statik içeriğe birleştiren bir Flatten özelliğini içerir. Flatten = true değerini PrintSettings nesnesine atıyoruz ve IronPrint geri kalan işlemleri yapıyor — ayrı bir PDF manipülasyon kütüphanesi veya ara dosya kaydetme gerekmiyor.
Bu kılavuz, senkron, birleşik ayarlarla ve asenkron iş akışları için çalışan C# kodu ile yazdırmadan önce PDF'lerin nasıl ve ne zaman düzleştirilmesi gerektiğini kapsar.
Hızlı Başlangıç: Yazdırmadan Önce PDF'leri Düzleştirin
- IronPrint'i NuGet üzerinden yükleyin:
Install-Package IronPrint - Dosyaya
using IronPrint;ekleyin - Bir
PrintSettingsnesnesi oluşturun Flattendeğerinitrueolarak ayarlayın- Ayarları
Printer.Print()veyaPrinter.PrintAsync()'ye iletin
-
IronPrint aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
Bu kod parçacığını kopyalayın ve çalıştırın.
using IronPrint; // Flatten and print a PDF with form fields Printer.Print("form-document.pdf", new PrintSettings { Flatten = true }); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronPrint kullanmaya başlayın
Asgari İş Akışı (5 adım)
- IronPrint C# yazdırma kütüphanesini yükleyin
- Bir
PrintSettingsnesnesi oluşturun Flattenözelliğinitrueyapın- Ayarları
Printer.Print()'e iletin - Yazdırılmış çıktının düzleştirilmiş form alanları içerdiğini doğrulayın
C#'de Yazdırmadan Önce Bir PDF'yi Nasıl Düzleştiririm?
Bir PDF'yi baskı zamanında, bir PrintSettings nesnesinde Flatten özelliğini true ayarlayarak düzleştiriyoruz. Daha sonra bu nesneyi IronPrint'in herhangi bir baskı yöntemine geçiriyoruz.
:path=/static-assets/print/content-code-examples/how-to/flatten-pdfs/flatten-pdfs-flatten-basic.cs
using IronPrint;
// Configure print settings with flattening enabled
PrintSettings settings = new PrintSettings();
settings.Flatten = true;
// Print the flattened document
Printer.Print("application-form.pdf", settings);
Imports IronPrint
' Configure print settings with flattening enabled
Dim settings As New PrintSettings()
settings.Flatten = True
' Print the flattened document
Printer.Print("application-form.pdf", settings)
Önce varsayılan değerlerle başlayan PrintSettings nesnesini oluşturuyoruz — Flatten = false dahil. Daha sonra Flatten ayarını true olarak belirliyoruz, Printer.Print Flatten, böylece IronPrint, baskı görevini göndermeden önce tüm etkileşimli öğeleri sayfa içeriğine birleştiriyor. [Print()] çağrıldığında, yazıcı belgenin tamamen statik bir versiyonunu alıyor.
Düzleştirme, yazdırma hattı sırasında bellekte gerçekleşir. Orijinal PDF dosyası disk üzerinde etkileşimli kalır, böylece son kullanıcılar formu doldurabilir ve tekrar gönderebilir. Bu önemli bir ayrımdır: yazıcı için düzleştiriyoruz, kaynağı daimi olarak değiştirmiyoruz.
Flatten özelliği IronPrint v2024.7.2'de tanıtıldı ve sonraki tüm sürümlerde mevcuttur.
Yazdırmadan Önce Bir PDF'yi Ne Zaman Düzleştirmeliyim?
Bir PDF, kâğıtta düzgün bir şekilde render edilemeyebilecek etkileşimli öğeler içerdiğinde düzleştirme en değerli hâle gelir. En yaygın senaryolar şunları içerir:
Doldurulabilir form alanları olan PDF'ler. Metin girdileri, onay kutuları, radyo düğmeleri ve açılır menüler PDF görüntüleyici tarafından render edilir — sayfa içeriğine gömülü değildir. Bazı yazıcı sürücüleri bu katmanları tamamen atlayarak yazdırılmış sayfada boş alanlar bırakır. Düzleştirme, alan değerlerini statik sayfa katmanına zorlar.
Açıklamalar veya üst üste bindirmeleri olan PDF'ler. Yorumlar, yapışkan notlar, mühürler ve işaretleme açıklamaları ayrı bir katmanda bulunur. Düzleştirme bunları görünür içeriğe birleştirir, böylece yazdırılmış çıktı üzerinde görünür hale gelirler.
Farklı katmanlarda gömülü görüntüler içeren PDF'ler. Birçok kaynaktan derlenmiş belgeler, farklı z-katmanlarında görüntülere sahip olabilir. Düzleştirme her şeyi tek bir katmanda birleştirir ve eksik veya hatalı görüntüleri önler.
PDF yalnızca statik metin ve görüntüler içerdiğinde — HTML'den üretilen bir rapor veya taranmış bir belge gibi — düzleştirmenin bir etkisi yoktur. Bu durumlarda Flatten'yi varsayılan false değerinde bırakabiliriz Flatten = true PaperSize.A4 PaperOrientation.Portrait Dpi PaperMargins, gereksiz işlem yükünden kaçınmak için.
Düzleştirmeyi Diğer Yazdırma Ayarlarıyla Nasıl Birleştiririm?
PrintSettings sınıfı, Flatten ile birlikte birkaç özelliği ortaya çıkarır. kağıt boyutunu, yönlendir, DPI, kenar boşlukları ve kopya sayısı düzleştirmenin yanı sıra yapılandırabiliriz — hepsi tek bir baskı işinde.
:path=/static-assets/print/content-code-examples/how-to/flatten-pdfs/flatten-pdfs-combined-settings.cs
using IronPrint;
// Configure flatten with full print settings
PrintSettings settings = new PrintSettings
{
Flatten = true,
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300,
NumberOfCopies = 2,
PaperMargins = new Margins(10, 10, 10, 10),
Grayscale = false
};
// Print the insurance claim form
Printer.Print("insurance-claim.pdf", settings);
Imports IronPrint
' Configure flatten with full print settings
Dim settings As New PrintSettings With {
.Flatten = True,
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300,
.NumberOfCopies = 2,
.PaperMargins = New Margins(10, 10, 10, 10),
.Grayscale = False
}
' Print the insurance claim form
Printer.Print("insurance-claim.pdf", settings)
Açıklık için nesne başlatıcı sözdizimini kullanıyoruz. EnsureFlatten, form verilerinin tamamının yazdırılan sayfada görünmesini sağlar. PaperSize ve Orientation, iş formları için standart formatla eşleşir. DPI 300'de, ekrana çözünürlüğünde oluşturulmuş olan dolu alanlar üzerinde keskin metin üretir. Margins, Margins yapıcı metodu aracılığıyla milimetre cinsinden dört değer kabul eder.
Bu özellikler birbiriyle çelişmez. IronPrint önce düzleştirme işlemini uygular, ardından iş yazıcıya gönderilmeden önce kalan ayarlara göre oluşan statik belgeyi biçimlendirir. Üzerine daha fazla bilgi içinyazdırma ayarları seçenekleri dahil olmak üzere yazıcı seçimi ve tepsi yapılandırması için tam yapılandırma rehberine göz atın.
Nasıl Düzleştirir ve Asenkron Yazdırırım?
Ana iş parçacığının engellenmesinin kabul edilemeyeceği uygulamalar için — örneğin WPF veya WinForms uygulamaları — Printer.PrintAsync kullanıyoruz. Yöntem aynı PrintSettings nesnesini kabul eder ve bir Task döndürür.
:path=/static-assets/print/content-code-examples/how-to/flatten-pdfs/flatten-pdfs-async-flatten.cs
using IronPrint;
using System.Threading.Tasks;
public class FormPrinter
{
public async Task PrintFlattenedFormAsync(string pdfPath)
{
// Configure flatten with Letter paper at 300 DPI
PrintSettings settings = new PrintSettings
{
Flatten = true,
PaperSize = PaperSize.Letter,
Dpi = 300
};
// Print asynchronously
await Printer.PrintAsync(pdfPath, settings);
}
}
Imports IronPrint
Imports System.Threading.Tasks
Public Class FormPrinter
Public Async Function PrintFlattenedFormAsync(pdfPath As String) As Task
' Configure flatten with Letter paper at 300 DPI
Dim settings As New PrintSettings With {
.Flatten = True,
.PaperSize = PaperSize.Letter,
.Dpi = 300
}
' Print asynchronously
Await Printer.PrintAsync(pdfPath, settings)
End Function
End Class
Bu sınıf tabanlı model, baskı mantığının bir servis katmanında yaşadığı durumlarda işe yarar. ABD formatlı formlar için Flatten = true ve PaperSize.Letter yapılandırıyoruz. await anahtar kelimesi, IronPrint düzleştirme işlemini yaparken ve baskı görevini gönderirken çağırma iş parçacığını serbest bırakır.
IronPrint'in eşzamansız yöntemleri — PrintAsync ve ShowPrintDialogAsync dahil — hepsi Flatten ayarını eşzamanlı olan karşıtları await PrintSettings.Flatten Flatten = true ile aynı şekilde dikkate alır. İster sessizce yazdıralım ister bir yazdırma diyaloğu aracılığıyla, düzleştirme davranışı tutarlı kalır.
Sonraki Adımlarım Neler?
C# kullanarak, baskıdan önce PDF'leri IronPrint'in PrintSettings özelliğini kullanarak nasıl düzleştireceğimizi açıkladık. Temel çıkarım: Flatten ayarını, etkileşimli form alanlarını, açıklamaları ve görüntü katmanlarını baskı anında statik içeriğe birleştirmek için ayarlayın — kaynak dosyayı değiştirmeden.
Bunu geliştirmeye devam etmek için:
- Tüm mevcut özellikler için yazdırma ayarları yapılandırma kılavuzunu keşfedin
- Yaygın kalıplar için yazdırma ayarları kod örneklerini inceleyin
- Özellik ayrıntıları ve varsayılan değerler için PrintSettings API referansını gözden geçirin
- En yeni özellikler ve geliştirmeler için IronPrint değişiklik günlüğünü kontrol edin
Kendi yazdırma iş akışlarınızda PDF düzleştirmeyi test etmek için ücretsiz 30 günlük bir deneme başlatın, veya üretim kullanımı için lisans seçeneklerini görüntüleyin.
Sıkça Sorulan Sorular
PDF'leri yazdırmadan önce düzleştirmenin amacı nedir?
PDF'leri düzleştirmek, tüm form alanlarını, açıklamalarını ve görüntülerini tek bir katmanda birleştirerek doğru işlemeyi ve yazdırmayı garanti eder.
C#'de PDF'yi nasıl düzleştirebilirim?
IronPrint kütüphanesini kullanarak C#'de bir PDF'yi düzleştirebilirsiniz. Bu, baskı işlemi sırasında tüm ögelerin düzgün şekilde düzleştirildiğinden emin olmak için PrintSettings'teki bir boolean ayarlamayı içerir.
Form alanlarının ve açıklamaların düzleştirilmesi neden gerekli?
Form alanları ve açıklamalar, yazdırıldığında düzenlenebilir veya yanlış hizalanabilir etkileşimli öğelerin önlenmesini sağlamak ve tutarlı bir çıktı sağlamak için düzleştirilmelidir.
PDF yazdırılmadan önce düzleştirilmezse ne olur?
PDF düzleştirilmezse, form alanları ve açıklamalar gibi etkileşimli öğeler düzgün yazdırılmayabilir, bu da yazılı belgede hatalara veya eksik bilgilere yol açabilir.
IronPrint, form alanları dışında diğer PDF öğelerini düzleştirmeyi destekliyor mu?
Evet, IronPrint, açıklamalar, görüntüler ve diğer katmanlı içerikler de dahil olmak üzere çeşitli PDF öğelerini düzleştirmeyi destekler ve her şeyin planlandığı gibi basılmasını sağlar.
C#'de düzleştirme sürecini otomatikleştirmek mümkün mü?
Kesinlikle, IronPrint kullanarak C# kodunuzda PrintSettings'i yapılandırarak düzleştirme sürecini otomatikleştirebilir ve toplu PDF işleme için iş akışını düzenleyebilirsiniz.
PDF'leri düzleştirmek baskı kalitesini etkileyebilir mi?
PDF'leri düzleştirmek genellikle tüm öğelerin doğru işlenip hizalanmasını garanti ederek baskı kalitesini artırır, baskı sürecinde hataların olasılığını azaltır.
PDF düzleştirmede PrintSettings booleanın rolü nedir?
IronPrint'teki PrintSettings boole, PDF'lerin düzleştirilmesini etkinleştiren ve tüm katmanların tek, baskıya hazır bir formatta birleştirildiğinden emin olan önemli bir parametredir.
PDF'leri düzleştirmek için IronPrint ek bir yazılıma ihtiyaç duyuyor mu?
Ek bir yazılım gerekmez. IronPrint, PDF'leri doğrudan C# uygulamalarınızda düzleştirmek için gereken tüm işlevsellikleri sağlayan kendi başına bir kütüphanedir.
IronPrint farklı PDF sürümleriyle uyumluluğu nasıl sağlıyor?
IronPrint, orijinal belgenin bütünlüğünü ve formatını koruyarak düzleştirme işlemini sağlar, çeşitli PDF sürümleriyle uyumlu olacak şekilde tasarlanmıştır.

