C#'de Yazdırmadan Önce PDF'leri Düzenleme
IronPrint'in PrintSettings sınıfı, yazdırma sırasında tüm etkileşimli form alanlarını, açıklamaları ve görüntü katmanlarını statik içeriğe birleştiren bir Flatten özelliği içerir. Flatten = true nesnemizde PrintSettings ayarını belirleriz ve IronPrint gerisini halleder — ayrı bir PDF işleme kütüphanesi veya ara dosya kaydetme gerekmez.
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 aracılığıyla yükleyin:
Install-Package IronPrint - Dosyaya
using IronPrint;ekleyin PrintSettingsnesnesi oluşturunFlattendeğerinitrueolarak ayarlayın- Ayarları
Printer.Print()veyaPrinter.PrintAsync()'ye aktarın
-
IronPrint aşağıdaki NuGet Paket Yöneticisi ile yükleyin
PM > Install-Package IronPrint -
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?
Flatten nesnesinde true özelliğini PrintSettings olarak ayarlayarak yazdırma sırasında bir PDF'yi düzleştiririz. 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)
Öncelikle PrintSettings'yi örneklendiriyoruz; bu, Flatten = false dahil olmak üzere varsayılan değerlerle başlatılır. Ardından Flatten değerini true, Printer.Print Flatten olarak ayarlıyoruz; bu, IronPrint'e yazdırma işini göndermeden önce tüm etkileşimli öğeleri sayfa içeriğine birleştirmesini söyler. [Print()] çağrıldığında, yazıcı belgenin tamamen statik bir sürümünü alır.
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 sürümünde tanıtılmıştır 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, gereksiz işlem yükünü önlemek için Flatten'yi varsayılan değeri olan false Flatten = true PaperSize.A4 PaperOrientation.Portrait Dpi PaperMargins olarak bırakabiliriz.
Düzleştirmeyi Diğer Yazdırma Ayarlarıyla Nasıl Birleştiririm?
PrintSettings sınıfı, Flatten ile birlikte birkaç özellik sunar. 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, tüm form verilerinin PRINT edilen sayfada görünmesini sağlar. PaperSize ve Orientation, iş formları için standart biçime uygundur. DPI 300 değerinde, orijinal olarak ekran çözünürlüğünde görüntülenen doldurulmuş alanlarda keskin metinler üretir. Margins, Margins yapıcı 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 formatındaki formlar için Flatten = true ile PaperSize.Letter'i birlikte yapılandırıyoruz. await anahtar sözcüğü, IronPrint düzleştirme işlemini gerçekleştirip yazdırma işini gönderirken çağıran iş parçacığını serbest bırakır.
IronPrint'in PrintAsync ve ShowPrintDialogAsync dahil olmak üzere tüm asenkron yöntemleri, senkron muadilleri Flatten await PrintSettings.Flatten Flatten = true ile aynı şekilde Flatten ayarını destekler. İ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?
IronPrint'in PrintSettings özelliğini kullanarak C#'da yazdırmadan önce PDF'leri düzleştirme yöntemini ele aldık. Önemli nokta: Flatten ayarını kullanarak, kaynak dosyayı değiştirmeden etkileşimli form alanlarını, açıklamaları ve görüntü katmanlarını PRINT sırasında statik içeriğe birleştirin.
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.

