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ı, 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

  1. IronPrint'i NuGet aracılığıyla yükleyin: Install-Package IronPrint
  2. Dosyaya using IronPrint; ekleyin
  3. PrintSettings nesnesi oluşturun
  4. Flatten değerini true olarak ayarlayın
  5. Ayarları Printer.Print() veya Printer.PrintAsync()'ye aktarın
  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?

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

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

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

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:

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 41,154 | Sürüm: 2026.5 just released
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.