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);
}
}
}
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);
}
}
}
Imports IronPrint
Namespace IronPrintDemo
Class Program
Shared Sub Main(ByVal args As String())
' Configure printer setting
Dim printSettings As New PrintSettings()
printSettings.Dpi = 220
printSettings.NumberOfCopies = 10
printSettings.PaperOrientation = PaperOrientation.Portrait
' Print the document
Printer.Print("awesome IronPrint.pdf", printSettings)
End Sub
End Class
End Namespace
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.");
}
}
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 Class
IronPrint 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:
Install-Package IronPrint
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);
}
}
}
}
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 Namespace
Kod 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");
}
}
}
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 Namespace
Yü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");
}
}
}
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 Namespace
Kod 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);
}
}
}
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 Namespace
Kod 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.
- Özel yazdırma ayarlarını yapılandırmak için
- 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.
Sıkça Sorulan Sorular
C# kullanarak bir ağ yazıcısında nasıl yazdırabilirim?
IronPrint kullanarak C#'ta bir ağ yazıcısında belgeleri yazdırabilirsiniz. Yazdırma görevlerini programatik olarak yönetmenizi sağlayan yöntemlerle belgeleri doğrudan bir ağ yazıcısına göndermenizi sağlar.
C#'ta bir ağ yazıcısında yazdırmayı kurmak için adımlar nelerdir?
Öncelikle, bir ağ yazıcısına ve adresine erişiminizin olduğundan emin olun. Gerekli sürücüleri ve IronPrint'i NuGet Paket Yöneticisi aracılığıyla yükleyin. Ardından, IronPrint'in yöntemlerini kullanarak yazdırma işlerini yönetin ve gönderin.
C# projemde IronPrint'i nasıl yükleyebilirim?
IronPrint'i Visual Studio'daki NuGet Paket Yöneticisi'ni kullanarak veya komut satırında Install-Package IronPrint komutunu çalıştırarak yükleyebilirsiniz.
IronPrint ile uyumlu olan .NET sürümleri nelerdir?
IronPrint, C#, VB.NET ve F#'ı destekler ve .NET 8, 7, 6, 5, ve Core 3.1+ ile uyumludur.
Farklı işletim sistemlerinde IronPrint kullanılabilir mi?
Evet, IronPrint Windows (7+), macOS (10+), iOS (11+), ve Android API 21+ (v5 'Lollipop') ile uyumludur.
IronPrint ile System.Printing C#'ta nasıl karşılaştırılır?
IronPrint, basitliğe odaklanan çapraz platform bir çözüm sunarken, System.Printing Windows tabanlı uygulamalar için yerel entegrasyon ve kontrol sunar.
IronPrint kullanarak mevcut ağ yazıcılarını nasıl listeleyebilirim?
IronPrint'te Printer.GetPrinterNames() yöntemini kullanabilirsiniz, bu da mevcut yazıcı sürücülerinin bir listesini sağlar.
IronPrint ile hangi gelişmiş yazdırma seçenekleri mevcut?
IronPrint, KağıtBoyutu, KağıtYönü, DPI, KopyaSayısı, YazıcıAdı, KağıtKenarları ve Griölçek dahil olmak üzere gelişmiş ayarları destekler.
IronPrint için hangi lisanslama seçenekleri mevcut?
IronPrint lisansları satın alınabilir veya Iron Software web sitesinde 30 günlük ücretsiz deneme için kaydolabilirsiniz. Lisans anahtarı uygulamanızın appSettings.json dosyasına yerleştirilir.
Komut satırı aracılığıyla IronPrint yüklemek için hangi komut kullanılır?
Komut satırı aracılığıyla IronPrint yüklemek için, Install-Package IronPrint komutunu kullanın.



