C#'te Yazdırma İçin Kağıt Kenar Boşluklarını Nasıl Ayarlarım?

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

Yazdırma kenar boşlukları, belge içeriğiniz ile fiziksel sayfanın kenarları arasındaki boş alanı kontrol eder. Doğru ayarı yapmaları kesilmiş metni önler, farklı yazıcılar üzerinde tutarlı düzenler sağlar ve faturalar, raporlar ve yasal belgeler için biçimlendirme gerekliliklerini karşılar.

IronPrint'in Margins sınıfı, milimetre olarak değerleri kabul eder ve tek satırda herhangi bir yerleşim gereksinimini karşılayabilmemiz için üç kurucu aşırı yükleme sunar — uniform, yatay/dikey ve yan başına. Aşağıda, kurulumdan özel kenar boşluklarıyla yazdırmaya kadar her yöntemi ele alıyoruz.

Hızlı Başlangıç: Kağıt Kenar Boşluklarını Ayarlayın

  1. IronPrint'i NuGet üzerinden yükleyin: Install-Package IronPrint
  2. Dosyaya using IronPrint; ekleyin
  3. Bir PrintSettings nesnesi oluşturun
  4. PaperMargins'ya Margins değerini atayın (değerler milimetre olarak)
  5. Dosya yolu ile ayarları Printer.Print()'ya iletin
  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPrint yükleyin

    PM > Install-Package IronPrint
  2. Bu kod parçasını kopyalayıp çalıştırın.

    using IronPrint;
    
    // Set 15 mm margins on all sides and print
    PrintSettings settings = new PrintSettings();
    settings.PaperMargins = new Margins(15);
    Printer.Print("report.pdf", settings);
  3. Canlı ortamınızda test etmek için dağıtın

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

    arrow pointer

Tüm Kenarlara Eşit Kenar Boşluklarını Nasıl Ayarlarım?

En basit kurucu tek bir tam sayı alır ve bunu tüm dört kenara eşit uygular. Değeri milimetre olarak geçiririz:

:path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-uniform-margins.cs
using IronPrint;

// 20 mm margin on every side
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(20),
    PaperSize = PaperSize.A4
};

Printer.Print("invoice.pdf", settings);
Imports IronPrint

' 20 mm margin on every side
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(20),
    .PaperSize = PaperSize.A4
}

Printer.Print("invoice.pdf", settings)
$vbLabelText   $csharpLabel

Margins(20), Left, Top, Right ve Bottom her birini 20 mm olarak ayarlar. Bu, her kenarda tutarlı bir beyaz alanın yeterli olduğu standart iş belgeleri için en yaygın tercihtir.

IronPrint, kenar boşluklarını milimetre cinsinden ölçer, bu da yüzdelik inç birimler kullanan System.Drawing.Printing.Margins sınıfının karışıklığını önler. IronPrint'te 25,4 mm'lik bir kenar boşluğu new System.Drawing.Printing.Margins(100) eşdeğerdir — bizim tarafta herhangi bir dönüşüm matematiği gerekmez.

Her Kenar için Farklı Kenar Boşluklarını Nasıl Ayarlarım?

Bir belge, bir başlık için üstünde veya alt tarafında bir altbilgi için ek alana ihtiyaç duyduğunda, dört parametreli kurucu kullanırız:

:path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-per-side-margins.cs
using IronPrint;

// Left: 10 mm, Top: 25 mm, Right: 10 mm, Bottom: 20 mm
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(10, 25, 10, 20),
    PaperOrientation = PaperOrientation.Portrait
};

Printer.Print("letterhead.pdf", settings);
Imports IronPrint

' Left: 10 mm, Top: 25 mm, Right: 10 mm, Bottom: 20 mm
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(10, 25, 10, 20),
    .PaperOrientation = PaperOrientation.Portrait
}

Printer.Print("letterhead.pdf", settings)
$vbLabelText   $csharpLabel

Parametre sırası left, top, right, bottom şeklindedir. Her değer bağımsızdır, böylece başlıklar, altbilgiler, ciltleme kenarları veya delik açma boşlukları için asimetrik düzenler oluşturabiliriz. Margins sınıfı API referansı her alana belgeler.

Yaygın Kenar Boşlukları Düzenleri için Hangi Kısaltma Seçenekleri Var?

IronPrint'in Margins sınıfı, uniform ve yan başına versiyonlarının ötesinde iki ek kurucu sağlar:

Yatay / Dikey kısayoluMargins(int horizontal, int vertical) soldan+sağa ilk değeri ve üstten+altta ikincisini ayarlar:

:path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-shorthand-margins.cs
using IronPrint;

// 10 mm left & right, 20 mm top & bottom
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(10, 20)
};

Printer.Print("report-landscape.pdf", settings);
Imports IronPrint

' 10 mm left & right, 20 mm top & bottom
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(10, 20)
}

Printer.Print("report-landscape.pdf", settings)
$vbLabelText   $csharpLabel

Sıfır kenar boşluklarıMargins.Zero kenar boşluklarının tümünü sınırsız baskı için kaldırır:

:path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-zero-margins.cs
PrintSettings borderless = new PrintSettings
{
    PaperMargins = Margins.Zero
};

Printer.Print("poster.png", borderless);
Dim borderless As New PrintSettings With {
    .PaperMargins = Margins.Zero
}

Printer.Print("poster.png", borderless)
$vbLabelText   $csharpLabel

Çoğu fiziksel yazıcının bir donanım-minimum yazdırılabilir alanda baskısı olduğunu unutmayın. Margins.Zero ayarlandığında, sürücüye sıfır kenar boşluklu talimatlar gönderir, ancak yazıcı yeteneklerine bağlı olarak kenarlara yakın içeriği kesebilir.

Kenar Boşluklarını Diğer Yazdırma Ayarları ile Nasıl Birleştiririm?

PaperMargins, PrintSettings üzerindeki bir özelliktir. Bunu kağıt boyutu, yönlendirme, DPI, kopyalar, gri tonlama modu ve yazıcı seçimi ile tek bir yapılandırma nesnesinde birleştirebiliriz:

:path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-combined-settings.cs
using IronPrint;

// Full print configuration for a quarterly report
PrintSettings settings = new PrintSettings
{
    PaperMargins = new Margins(15, 20, 15, 25),
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Portrait,
    Dpi = 300,
    NumberOfCopies = 2,
    Grayscale = false,
    PrinterName = "HP LaserJet Pro MFP M428"
};

Printer.Print("Q4-report.pdf", settings);
Imports IronPrint

' Full print configuration for a quarterly report
Dim settings As New PrintSettings With {
    .PaperMargins = New Margins(15, 20, 15, 25),
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Portrait,
    .Dpi = 300,
    .NumberOfCopies = 2,
    .Grayscale = False,
    .PrinterName = "HP LaserJet Pro MFP M428"
}

Printer.Print("Q4-report.pdf", settings)
$vbLabelText   $csharpLabel

Asenkron iş akışları için — WPF, MAUI veya ASP.NET web uygulamaları — kullanıcı arabirimi iş parçacığını engellememek için Printer.Print() ile await Printer.PrintAsync() değiştirin. Aynı PrintSettings nesnesi her iki yöntemle de çalışır.

Sonraki Adımlarım Neler?

IronPrint ile yazdırma kenar boşluklarını yapılandırmanın dört yolunu ele aldık: Margins(int) kullanarak uniform kenar boşlukları, Margins(int, int, int, int) ile yan başına kontrol, yatay/dikey kısayolu Margins(int, int) ve sınırız baskı için Margins.Zero. Her yaklaşım PrintSettings.PaperMargins'a girer ve hem Printer.Print() hem de Printer.PrintAsync() ile çalışır.

Daha fazla okumak için, şu kaynakları keşfedin:

Ücretsiz deneme lisansı alın canlı ortamda tüm özellikleri test etmek için veya lisans seçeneklerini görüntüleyin dağıtıma hazır olduğunuzda.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 39,267 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronPrint
bir örnek calistirin belgenizin yaziciya gitmesini izleyin.