Altbilgi içeriğine atla
IRONPRINT KULLANıMı

C# ile Ağ Yazıcısında Nasıl Yazdırılır

Ağ yazıcılarında programlı baskı alma, çeşitli yazılım uygulamaları arasında yaygın bir görevdir. Masanustu, mobil uygulama ya da web hizmeti geliştiriyor olun, belgeleri dogrudan bir ag yazicisine gonderme yetenegi yaziliminizin kullanilabilirligini ve verimliligini buyuk olcude artirabilir. Bu makalede, C# ve IronPrint kullanarak bir ağ yazıcısına nasıl baskı yapacağımızı inceleyeceğiz. Bu, Iron Software tarafından sağlanmaktadır.

How to Print with Network Printer in C

  1. Belgeleri Yazdırmak için IronPrint kullanarak Yeni bir proje oluşturun.
  2. Yeni bir projeye IronPrint kurun.
  3. Belgeleri yazdirma icin uygun olan ag yazicilarini listeleyin.
  4. IronPrint kullanarak PDF belgeleri yazdirin.
  5. PDF belgelerini IronPrint ile Diyalog kullanarak yazdirin.
  6. Print ayarları ile İleri Düzey Baskı.

Ortamın Kurulması

Kodlama kısmına geçmeden önce, ortamımızın doğru bir şekilde ayarlandığından emin olalım. C#'ta bir ağ yazıcısına yazdırmak için aşağıdakilere ihtiyaçınız var:

  1. C# uygulamanızın çalışacağı makineden bir ağ yazıcısının erişilebilir olduğundan emin olun.
  2. Yazicinin ag adresi (IP adresi veya ag yazicisi adi).
  3. Makineye gerekli yazıcı sürücüsü/sürücüleri yüklendi. Eğer gerekliyse yazıcılar veya sürücüleri yüklemek için yönetici ayrıcalıkları.

IronPrint

Uygulama detaylarına girmeden önce, IronPrint ile nasıl başlayacağımızı öğrenelim:

  1. Kurulum: IronPrint, NuGet Paket Yöneticisi aracılığıyla kolayca kurulabilir. Basitçe NuGet sayfasını ziyaret edin ve kurulum talimatlarını izleyin.
  2. Dokümantasyon: Hızlı başlangıç rehberi ve kapsamlı API referansı için resmi dokümanlara başvurun.

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+ dahil. Isletim Sistemleri ve Ortamlar: IronPrint, Windows (7+), macOS (10+), iOS (11+) ve Android API 21+ (v5 "Lollipop") ile uyumludur. Proje Türleri: Mobil (Xamarin, MAUI, Avalonia), masaüstü (WPF, MAUI, Windows Avalonia) veya konsol uygulamaları geliştiriyor olsanız da, IronPrint ile ihtiyaçınız olan her şeye sahipsiniz.

Ş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("awesomeIronPrint.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("awesomeIronPrint.pdf", printSettings);
        }
    }
}
Imports IronPrint

Namespace IronPrintDemo
	Friend 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("awesomeIronPrint.pdf", printSettings)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

System.Printing

C# dilindeki System.Printing ad alani, geliştiricilerin yazicilar, yazici kulupleri, yazici sunuculari ve yazdirma isleriyle programli olarak etkilesim kurmasini saglayan siniflar ve arayuzler icerir. Bu ad alanındaki bazı anahtar sınıflar ve arabirimler şunlardır:

  1. PrintQueue: Sisteme bagli bir yazici veya yazdirma cihazini temsil eder.
  2. PrintServer: Ag uzerindeki bir yazici sunucusunu temsil eder.
  3. PrintSystemJobInfo: Durumu ve özellikleri gibi bir yazdirma isi hakkinda bilgi saglar.
  4. PrintTicket: Kagit boyutu, yonlendirme ve baski kalitesi dahil olmak üzere bir yazdirma isi icin ayarlari temsil eder.

System.Printing ile Başlarken: Koda dalmadan once, System.Printing ile yazdirmanin nasıl calistigi hakkinda temel bir anlayisa sahip oldugumuzdan emin olalim:

  1. PrintQueue Secimi: Yazdirma icin kullanmak istediginiz yaziciyi temsil eden PrintQueue nesnesini tanimlamaniz gerekir.
  2. PrintTicket Yapılandırmasi: Istek uzerine, kagit boyutu, yonlendirme ve kopya sayisi gibi yazdirma ayarlarini belirtmek icin PrintTicket nesnesini yapılandırabilirsiniz.
  3. Doküman Yazdirma: Son olarak, secili PrintQueue'e yazdirmak icin dokümani gonderirsiniz.

Doküman Yazdirma Uygulama System.Printing: Simdi, System.Printing kullanarak bir dokümani yazdirma surecini asagida göstermis oldugumuz örnekle 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
$vbLabelText   $csharpLabel

IronPrint Vs System.Printing

Network Yazicisi ile C#: Sekil 1 - IronPrint ve System.Printing karsilastirma tablosu

Bu tablo, IronPrint ve System.Printing'nin özelliklerini ve özelliklerini hizli bir genel bakis saglar, geliştiricilerin spesifik gereksinimlerine ve platform hedeflerine dayali olarak bilgili kararlar alabilmesini saglar.

Adım 1: IronPrint kullanarak Belgeleri Yazdırmak için Yeni Bir Proje Oluşturun

Visual Studio'da aşağıda gösterildiği gibi bir konsol uygulaması oluşturun.

Network Yazicisi ile C#: Şekil 2 - Konsol uygulamasi oluşturma

Proje adı ve konumunu sağlayın.

Network Yazicisi ile C#: Sekil 3 - Proje ismi belirtme

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

Network Yazicisi ile C#: Sekil 4 - Uygun .NET surumunu sec

Simdi proje oluşturuldu ve daha fazla kodlama icin hazır.

Adım 2: Yeni bir projeye IronPrint yükleyin

IronPrint'i aşağıda gösterildiği gibi Visual Studio Paket Yöneticisi'nden yükleyin.

Network Yazicisi ile C#: Sekil 5 - Visual Studio Paket Yöneticisi aracılığıyla IronPrint arayın

IronPrint, aşağıdaki komut kullanılarak da yüklenebilir:

Install-Package IronPrint

Adım 3: Belgeleri yazdırmak için kullanılabilir ağ yazıcılarını listeleyin

IronPrint kullanarak yazici isimlerini listelemek icin asagidaki kodu kullanin:

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

Kod Açıklaması

  1. Tüm mevcut yazıcı sürücülerini almak için Printer.GetPrinterNames kullanın.
  2. Console.WriteLine'i kullanarak adları yazdırın.

Çıktı

Network Yazicisi ile C#: Sekil 6 - Mevcut yazicilarin örnek ciktilari

Adım 4: IronPrint kullanarak PDF belgesini yazdırın

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

Yürütme işleminden sonra, belge çıktı olarak gösterildiği gibi yazdırma kuyruğuna eklenir.

Çıktı

Network Yazicisi ile C#: Sekil 7 - Dokümanın yazici kuyruguna eklendiginin örnek ciktilari

Adım 5: IronPrint ile Diyalog Kullanarak PDF Belgesini Yazdırma

Aşağıdaki kodu kullanarak belgeyi diyalogla yazdırı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
$vbLabelText   $csharpLabel

Kod Açıklaması

  1. IronPrint'den ShowPrintDialog'i kullanarak Dialog ile yazdirabiliriz.
  2. Diyalog açıldığında, belgeyi yazdırmak için gereken yazıcıyı seçin.

Çıktı

Network Yazicisi ile C#: Sekil 8 - Dogru yaziciyi seç

Adım 6: Yazdırma ayarları ile Gelişmiş Yazdırma

Gelişmiş ayarlarla belge yazdırma IronPrint içerisinde desteklenir. Su Özellikleri destekler:

  1. PaperSize: Yazıcı tarafından kullanılan kağıt boyutlarını belirtir.
  2. PaperOrientation: Kağıdın yönünü tanımlar, örneğin Otomatik, Dikey veya Yatay.
  3. DPI: Inç başına düşen nokta cinsinden istenen baskı çözünürlüğünü ayarlar. Varsayılan değer 300'dür ve genellikle ticari baskıda kullanılır. Gerçek DPI, yazıcının yetenekleri tarafından sınırlandırılabilir.
  4. NumberOfCopies: Bir belge için yazdırılacak aynı kopya sayısını belirtir.
  5. PrinterName: Baskı işlemleri için atanan yazıcının adını belirtir.
  6. PaperMargins: Milimetre olarak ölçülen baskıdaki marjları belirler.
  7. Grayscale: Grinin tonlarında yazdırılıp yazdırılmayacağını belirten bir boolean değeri. Varsayılan değer yanlıştır.

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

Kod Açıklaması

  1. Kod, yazdırma için gerekli sınıfları ve metodları içeren gerekli IronPrint isim alanını içe aktararak başlıyor.
  2. IronPrintDemo ad alani içinde, Program adında bir sınıf kamuya açık olarak ilan edilmiştir.
  3. Main metodu, programın giriş noktası olarak hizmet eder.
  4. Main yöntemi içerisinde:
    • PrintSettings adlı bir printSettings nesnesi, özel yazdırma ayarlarını yapılandırmak için başlatılır.
    • printSettings'un Dpi özelliği 150'ye ayarlanır, bu da 150 nokta başına yazdırma çözünürlüğünü belirtir.
    • printSettings'in NumberOfCopies özelliği 2'ye ayarlanır, bu da belgenin iki aynı kopyasının yazdirilacagini belirtir.
    • printSettings'in PaperOrientation özelliği PaperOrientation.Portrait olarak ayarlanır, bu da belgenin dikey yönlendirmeyle yazdirilacagini belirtir.
  5. Son olarak, Printer.Print metodu, yazdirilacak belge adi (örneğin 'sample.pdf') ve printSettings (özel baskı ayarları) ile çağrilir. Bu metot, belirtilen ayarları kullanarak baskı işlemini gerçekleştirir.

Çıktı

Network Yazicisi ile C#: Sekil 9 - Yazdirma kuyruguna eklenen PDF belgesinin örnek ciktilari

Lisans

IronPrint, Iron Software tarafından üretilmiş bir enterprise kütüphanesi olup çalışması için lisans gerektirmektedir. IronPrint lisans anahtarını eklemek, projeyi kısıtlamalar veya filigranlar olmadan çalıştırır. Buradan lisans satın alın ya da ücretsiz 30 günlük deneme anahtarı için buraya kayıt olun.

Lisans anahtarı alındıktan sonra, uygulamanın appSettings.json dosyasına yerleştirilmelidir.

{
  "IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}

Bu, belgelerin kısıtlama ve filigran olmadan yazdırılmasını sağlar.

Sonuç

Özetle, IronPrint ve System.Printing her biri kendi güçlü yönlerine sahiptir ve farklı senaryolar için uygundur. IronPrint, basitlik ve çok yönlülük üzerine odaklanarak düzenli ve platformlar arası bir çözüm sunarken, System.Printing, özellikle Windows tabanlı uygulamalar için kontrol ve yerel entegrasyon teklif eder. Geliştiriciler, C# projeleri için bu yazdırma kütüphaneleri arasında seçim yaparken özel gereksinimlerini ve platform hedeflerini göz önünde bulundurmalıdır.

IronPrint, .NET uygulamaları içinde belge baskısını kullanıcı dostu API sağlayarak ve çeşitli platformlar ve proje türleri arasında kapsamlı uyumluluk sunarak basitleştirir. Bu makalede belirtilen adımları takip ederek, .NET projelerinize baskı işlevselliği sorunsuz bir şekilde entegre edebilir, kullanılabilirliğini ve verimliliğini artırabilirsiniz. IronPrint ile olasılıkları keşfedin ve uygulamalarınız içinde etkin belge baskısını mümkün kılın.

Sıkça Sorulan Sorular

C# kullanarak ağ yazıcısına nasıl yazdırabilirim?

IronPrint'i kullanarak C# içinde ağ yazıcısına belgeler yazdırabilirsiniz. Belgeyi doğrudan bir ağ yazıcısına göndermek için belgeleri programlı bir şekilde işleyen yöntemler sunar.

C# içinde ağ yazıcısına yazdırmayı ayarlamak için adımlar nelerdir?

Önce 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 üzerinden yükleyin. Daha sonra yazdırma işlerini yönetmek ve göndermek için IronPrint yöntemlerini kullanın.

C# projemde IronPrint'i nasıl yüklerim?

IronPrint’i Visual Studio’da NuGet Paket Yöneticisi’ni kullanarak veya Paket Yöneticisi Konsolunda Install-Package IronPrint komutunu çalıştırarak yükleyebilirsiniz.

IronPrint ile uyumlu .NET sürümleri nelerdir?

IronPrint, C#, VB.NET ve F#'i destekler ve .NET 8, 7, 6, 5 ve Core 3.1+ ile uyumludur.

IronPrint farklı işletim sistemlerinde kullanılabilir mi?

Evet, IronPrint Windows (7+), macOS (10+), iOS (11+) ve Android API 21+ (v5 'Lollipop') ile uyumludur.

IronPrint, C#'taki System.Printing ile 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 sağlar.

IronPrint kullanarak ağ yazıcılarının listesini nasıl alabilirim?

IronPrint içinde, mevcut yazıcı sürücülerinin listesini döndüren Printer.GetPrinterNames() metodunu kullanabilirsiniz.

IronPrint ile hangi ileri düzey yazdırma seçenekleri mevcuttur?

IronPrint, Kağıt Boyutu, Kağıt Yönlendirme, DPI, Kopya Sayısı, Yazıcı Adı, Kağıt Kenar Boşlukları ve Gri Tonlama dahil olmak üzere gelişmiş ayarları destekler.

IronPrint için hangi lisans seçenekleri mevcuttur?

IronPrint lisansları satın alınabilir veya Iron Software web sitesinden ücretsiz 30 günlük deneme için kayıt olabilirsiniz. Lisans anahtarı, uygulamanızın appSettings.json dosyasına yerleştirilir.

IronPrint'i komut satırı üzerinden kurmak için hangi komut kullanılır?

IronPrint'i komut satırı üzerinden kurmak için Install-Package IronPrint komutunu kullanın.

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

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara