
C# ile Ağ Yazıcısında Nasıl Yazdırılır
Ağ yazıcılarında programlı yazdırma, çeşitli yazılım uygulamaları arasında yaygın bir görevdir. İster bir masaüstü, mobil uygulama ister bir web hizmeti geliştiriyor olun, belgeleri doğrudan bir ağ yazıcısına gönderme yeteneği yazılımınızın kullanabilirliğini ve verimliliğini büyük ölçüde artırabilir. Bu makalede, C# ve IronPrint kullanarak bir ağ yazıcısında nasıl yazdırılacağını inceleyeceğiz Iron Software üzerinden.
How to Print with Network Printer in C#
- IronPrint kullanarak Belgeleri Yazdırmak İçin Yeni bir proje oluşturun.
- Yeni bir projeye IronPrint'i yükleyin.
- Belgeleri yazdırmak için mevcut ağ yazıcılarını listeleyin.
- IronPrint kullanarak PDF belgelerini yazdırın.
- IronPrint kullanarak PDF belgelerini diyalog ile yazdırın.
- Gelişmiş Yazdırma Ayarları ile Yazdırma.
Ortamı Ayarlama
Kodlama kısmına dalmadan önce, ortamımızın doğru bir şekilde kurulmuş olduğundan emin olalım. C#'ta bir ağ yazıcısına yazdırmak için aşağıdakilere sahip olmanız gerekir:
- C# uygulamanızın çalışacağı makineden erişilebilen bir ağ yazıcısının olduğundan emin olun.
- Yazıcının ağ adresi (IP adresi veya ağ yazıcısı adı).
- Gerekli yazıcı sürücüsü/sürücüleri makinede yüklü olmalıdır.
- Gerekirse yazıcıları veya sürücüleri yüklemek için yönetici ayrıcalıklarınız olmalıdır.
IronPrint
Uygulama detaylarına dalmadan önce, IronPrint ile nasıl başlayacağımızı öğrenelim:
- Kurulum: IronPrint, NuGet Paket Yöneticisi aracılığıyla kolayca yüklenebilir. Sadece NuGet sayfasını ziyaret edin ve kurulum talimatlarını takip edin.
- Dokümantasyon: Hızlı başlangıç kılavuzu ve kapsamlı API referansı için resmi belgeleri inceleyin.
Uyumluluk ve Destek: IronPrint, çeşitli ortamlar ve proje türleri arasında geniş uyumluluk ve destek sunar:
- .NET Sürüm Desteği: IronPrint, C#, VB.NET ve F#'ı destekler, .NET 8,7,6,5 ve Core 3.1+'ı içerir.
- İşletim Sistemleri ve Ortamlar: IronPrint, Windows (7+), macOS (10+), iOS (11+) ve Android API 21+ (v5 "Lollipop") ile uyumludur.
- Proje Türleri: İster mobil (Xamarin, MAUI, Avalonia), masaüstü (WPF, MAUI, Windows Avalonia) veya konsol uygulamaları geliştiriyor olun, IronPrint sizinle ilgilenir.
Şimdi aşağıdaki örnekle IronPrint ile nasıl yazdırılacağını görelim.
using IronPrint;
namespace IronPrintDemo
{
class Program
{
static void Main(string[] args)
{
// Configure printer setting
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 220;
printSettings.NumberOfCopies = 10;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the document
Printer.Print("awesome IronPrint.pdf", printSettings);
}
}
}
System.Printing
System.Printing ad alanı, geliştiricilerin yazıcılar, yazdırma kuyrukları, yazdırma sunucuları ve yazdırma işleriyle programatik olarak etkileşimde bulunmalarını sağlayan sınıflar ve arayüzler içerir. Bu ad alanındaki bazı temel sınıflar ve arayüzler şunları içerir:
PrintQueue: Sisteme bağlı bir yazıcı veya yazdırma cihazını temsil eder.PrintServer: Ağ üzerindeki bir yazdırma sunucusunu temsil eder.PrintSystemJobInfo: Yazdırma işinin durumu ve özellikleri gibi bilgileri sağlar.PrintTicket: Kağıt boyutu, yönelim ve yazdırma kalitesi dahil olmak üzere bir yazdırma işi için ayarları temsil eder.
System.Printing ile Başlangıç: Koda dalmadan önce, System.Printing ile yazdırmanın nasıl çalıştığına dair temel bir anlayışa sahip olalım:
PrintQueueSeçimi: Yazdırmak istediğiniz yazıcıyı temsil edenPrintQueuenesnesini tanımlamanız gerekir.PrintTicketYapılandırması: İsteğe bağlı olarak, kağıt boyutu, yönelim ve kopya sayısı gibi yazdırma ayarlarını belirlemek içinPrintTicketnesnesini yapılandırabilirsiniz.- Belge Yazdırma: Son olarak, yazdırılacak belgeyi seçilen
PrintQueue'e gönderirsiniz.
System.Printing ile Belge Yazdırma Uygulaması: Şimdi, System.Printing kullanarak bir belgeyi yazdırma sürecini aşağıdaki örnek ile inceleyelim:
İşte kaynak kodu:
using System;
using System.IO;
using System.Printing;
class Program
{
static void Main(string[] args)
{
// Specify the path to the document to be printed on the local printer
string documentPath = "path/to/your/document.pdf";
// Instantiate a Printer Server object representing the local print server
using (PrintServer printServer = new PrintServer())
{
// Get the default PrintQueue from the PrintServer default
PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;
// Create a PrintTicket object to specify print settings (optional)
PrintTicket printTicket = new PrintTicket();
// Configure print settings, e.g., number of copies
printTicket.CopyCount = 1;
// Print the document to the default PrintQueue with the specified PrintTicket
defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
}
Console.WriteLine("Document sent to print queue.");
}
}Imports System
Imports System.IO
Imports System.Printing
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Specify the path to the document to be printed on the local printer
Dim documentPath As String = "path/to/your/document.pdf"
' Instantiate a Printer Server object representing the local print server
Using printServer As New PrintServer()
' Get the default PrintQueue from the PrintServer default
Dim defaultPrintQueue As PrintQueue = printServer.DefaultPrintQueue
' Create a PrintTicket object to specify print settings (optional)
Dim printTicket As New PrintTicket()
' Configure print settings, e.g., number of copies
printTicket.CopyCount = 1
' Print the document to the default PrintQueue with the specified PrintTicket
defaultPrintQueue.AddJob("MyPrintJob", documentPath, False, printTicket)
End Using
Console.WriteLine("Document sent to print queue.")
End Sub
End ClassIronPrint Vs System.Printing

Bu tablo, geliştiricilerin belirli gereksinimleri ve platform hedeflerine dayalı olarak bilinçli kararlar vermelerine yardımcı olacak IronPrint ve System.Printing'nun özellikleri ve karakteristikleri hakkında hızlı bir genel bakış sağlar.
1. Adım: IronPrint Kullanarak Belgeleri Yazdırmak İçin Yeni bir Proje Oluştur
Visual Studio'da aşağıda gösterildiği gibi bir konsol uygulaması oluşturun.

Bir proje adı ve konumu sağlayın.

.NET sürümünü seçin.

Şimdi proje oluşturuldu ve daha fazla kodlama için hazır.
2. Adım: Yeni bir projeye IronPrint yükle
IronPrint'i Visual Studio Paket Yöneticisi üzerinden aşağıda gösterildiği gibi yükleyin.

IronPrint, aşağıdaki komutu kullanarak da kurulabilir:
3. Adım: Belgeleri yazdırmak için mevcut ağ yazıcılarını listele
IronPrint kullanarak yazıcı adlarını listelemek için aşağıdaki kodu kullanın:
using System;
using System.Collections.Generic;
using IronPrint;
namespace IronPrintDemo
{
public class Program
{
public static void Main()
{
// Get printer names using printer drivers
List<string> printersName = Printer.GetPrinterNames();
foreach (var printer in printersName)
{
Console.WriteLine(printer);
}
}
}
}Imports System
Imports System.Collections.Generic
Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Get printer names using printer drivers
Dim printersName As List(Of String) = Printer.GetPrinterNames()
For Each printer In printersName
Console.WriteLine(printer)
Next printer
End Sub
End Class
End NamespaceKod Açıklaması
- Tüm mevcut yazıcı sürücülerini almak için
Printer.GetPrinterNameskullanın. - İsimleri
Console.WriteLinekullanarak yazdırın.
Çıktı

4. Adım: IronPrint kullanarak PDF belgesi yazdır
Belgeyi sessizce yazdırmak için aşağıdaki kodu kullanın:
using IronPrint;
namespace IronPrintDemo
{
public class Program
{
public static void Main()
{
// Print the document silently
Printer.Print("sample.pdf");
}
}
}Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Print the document silently
Printer.Print("sample.pdf")
End Sub
End Class
End NamespaceYürütme sonrasında, belge kuyruğa eklenir, çıktıdaki gibi gösterilir.
Çıktı

5. Adım: IronPrint ile Diyalog Kullanarak PDF Belgesi Yazdır
Belgeyi diyalog ile yazdırmak için aşağıdaki kodu kullanın:
using IronPrint;
namespace IronPrintDemo
{
public class Program
{
public static void Main()
{
// Print with Dialog
Printer.ShowPrintDialog("sample.pdf");
}
}
}Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Print with Dialog
Printer.ShowPrintDialog("sample.pdf")
End Sub
End Class
End NamespaceKod Açıklaması
- IronPrint'ten
ShowPrintDialogkullanarak Diyalog ile yazdırabiliriz. - Diyalog açıldığında, belgeyi yazdırmak için gerekli yazıcıyı seçin.
Çıktı

6. Adım: Yazdırma ayarları ile gelişmiş yazdırma
Gelişmiş ayarlarla belge yazdırma IronPrint tarafından desteklenir. Aşağıdaki Özellikleri destekler:
PaperSize: Yazıcı tarafından kullanılan kağıt boyutlarını belirtir.PaperOrientation: Otomatik, Dik veya Yatay gibi kağıdın yönünü tanımlar.DPI: İstenen baskı çözünürlüğünü inç başına nokta (dpi) olarak ayarlar. Varsayılan değer, ticari yazdırmada yaygın olarak kullanılan 300'dür. Gerçek DPI, yazıcının yetenekleri ile sınırlı olabilir.NumberOfCopies: Bir belge için yazdırılacak aynı kopyaların sayısını belirtir.PrinterName: Yazdırma görevleri için atanmış yazıcının adını belirtir.PaperMargins: Milimetre cinsinden ölçülen yazdırma için kenar boşluklarını belirler.Grayscale: Gri tonlamalı yazdırma yapılıp yapılmayacağını belirleyen bir boolean değer. Varsayılan false.
Şimdi bir kod örneğine bakalım:
using IronPrint;
namespace IronPrintDemo
{
public class Program
{
public static void Main()
{
// Configure custom print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 150;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Portrait;
// Print the required document
Printer.Print("sample.pdf", printSettings);
}
}
}Imports IronPrint
Namespace IronPrintDemo
Public Class Program
Public Shared Sub Main()
' Configure custom print settings
Dim printSettings As New PrintSettings()
printSettings.Dpi = 150
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the required document
Printer.Print("sample.pdf", printSettings)
End Sub
End Class
End NamespaceKod Açıklaması
- Kod, yazdırma için gerekli sınıfları ve yöntemleri içeren IronPrint ad alanını içe aktararak başlar.
IronPrintDemoad alanı içinde public olarak tanımlanan bir Program sınıfı bulunur.- Main yöntemi, programın giriş noktası olarak görev yapar.
- Main yöntemi içinde:
- Özel yazdırma ayarlarını yapılandırmak için
printSettingsadlı birPrintSettingsnesnesi oluşturulur. printSettingsözelliği 150 olarak ayarlanır, bu da 150 inç başına nokta (dpi) olarak baskı çözünürlüğünü belirtir.printSettingsözelliği 2 olarak ayarlanır, bu da belgenin iki aynı kopyasının yazdırılacağını belirtir.printSettingsözelliğiPaperOrientation.Portraitolarak ayarlanır, bu da belgenin dikey konumda yazdırılacağını belirtir.
- Son olarak, 'sample.pdf' (yazdırılacak belgenin adı) ve
printSettings(özel yazdırma ayarları) parametreleri ilePrinter.Printyöntemi çağrılır. Bu yöntem, belirtilen ayarlarla yazdırma işlemini yürütür.
Çıktı

Lisans
IronPrint Iron Software tarafından sağlanan bir kurumsal kütüphanedir ve çalıştırmak için lisansa ihtiyaç duyar. IronPrint lisans anahtarı eklemek projeyi sınırlamalar veya filigranlar olmadan çalışır hale getirir. Buradan lisans satın alın veya ücretsiz 30 günlük deneme anahtarı için buradan kaydolun.
Lisans anahtarı elde edildikten sonra, anahtar uygulamada appSettings.json dosyasına yerleştirilmelidir.
{
"IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}
Bu, belgeleri kısıtlama ve filigran olmadan yazdıracaktır.
Sonuç
Özetle, IronPrint ve System.Printing her biri kendi güçlü yönlerine sahiptir ve farklı senaryolar için uygundur. IronPrint, sadelik ve çok yönlülüğe odaklanarak akıcı ve platformlar arası bir çözüm sunarken, System.Printing yerel entegrasyon ve ince ayarlanabilir kontrol sağlayarak özellikle Windows tabanlı uygulamalar için uygundur. Geliştiriciler, C# projeleri için bu yazdırma kütüphaneleri arasında seçim yaparken belirli gereksinimlerini ve platform hedeflerini göz önünde bulundurmalıdır.
IronPrint, .NET uygulamalarında belge yazdırmayı, kullanıcı dostu bir API ve çeşitli platformlar ve proje türleri arasında geniş uyumluluk sağlayarak basitleştirir. Bu makalede anlatılan adımları izleyerek yazdırma işlevselliğini .NET projelerinize sorunsuz bir şekilde entegre edebilir, kullanışlılık ve üretkenliklerini artırabilirsiniz. IronPrint ile olanakları keşfedin ve uygulamalarınızda verimli belge yazdırma dünyasının kilidini açın.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.
İlgili Makaleler


