C#'de Yazdırmadan Önce PDF'leri Düzenleme

This article was translated from English: Does it need improvement?
Translated
View the article in English

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

  1. IronPrint'i NuGet üzerinden yükleyin: Install-Package IronPrint
  2. Dosyaya using IronPrint; ekleyin
  3. Bir PrintSettings nesnesi oluşturun
  4. Flatten değerini true olarak ayarlayın
  5. Ayarları Printer.Print() veya Printer.PrintAsync()'ye iletin
  1. IronPrint aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPrint
  2. 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
    });
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPrint kullanmaya başlayın

    arrow pointer

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)
$vbLabelText   $csharpLabel

Ö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)
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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:

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 44,435 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPrint
bir örnek çalıştır belgenizin yazıcıya ulaşmasını izleyin.