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

  1. IronPrint kullanarak Belgeleri Yazdırmak İçin Yeni bir proje oluşturun.
  2. Yeni bir projeye IronPrint'i yükleyin.
  3. Belgeleri yazdırmak için mevcut ağ yazıcılarını listeleyin.
  4. IronPrint kullanarak PDF belgelerini yazdırın.
  5. IronPrint kullanarak PDF belgelerini diyalog ile yazdırın.
  6. 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:

  1. C# uygulamanızın çalışacağı makineden erişilebilen bir ağ yazıcısının olduğundan emin olun.
  2. Yazıcının ağ adresi (IP adresi veya ağ yazıcısı adı).
  3. Gerekli yazıcı sürücüsü/sürücüleri makinede yüklü olmalıdır.
  4. 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:

  1. Kurulum: IronPrint, NuGet Paket Yöneticisi aracılığıyla kolayca yüklenebilir. Sadece NuGet sayfasını ziyaret edin ve kurulum talimatlarını takip edin.
  2. 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
$vbLabelText   $csharpLabel

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:

  1. PrintQueue: Sisteme bağlı bir yazıcı veya yazdırma cihazını temsil eder.
  2. PrintServer: Ağ üzerindeki bir yazdırma sunucusunu temsil eder.
  3. PrintSystemJobInfo: Yazdırma işinin durumu ve özellikleri gibi bilgileri sağlar.
  4. 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:

  1. PrintQueue Seçimi: Yazdırmak istediğiniz yazıcıyı temsil eden PrintQueue nesnesini tanımlamanız gerekir.
  2. PrintTicket Yapılandırması: İsteğe bağlı olarak, kağıt boyutu, yönelim ve kopya sayısı gibi yazdırma ayarlarını belirlemek için PrintTicket nesnesini yapılandırabilirsiniz.
  3. 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
$vbLabelText   $csharpLabel

IronPrint Vs System.Printing

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 1 - IronPrint ve System.Printing arasındaki hızlı bir karşılaştırma tablosu

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.

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 2 - Konsol uygulaması oluşturma

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

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 3 - Proje adı belirtme

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

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 4 - Uygun .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.

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 5 - Visual Studio Paket Yöneticisi üzerinden IronPrint araması

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

Kod Açıklaması

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

Çıktı

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 6 - Mevcut yazıcıların örnek çıktısı

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

Yürütme sonrasında, belge kuyruğa eklenir, çıktıdaki gibi gösterilir.

Çıktı

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 7 - Belgenin yazdırma kuyruğuna eklenmesini gösteren örnek çı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
$vbLabelText   $csharpLabel

Kod Açıklaması

  1. IronPrint'ten ShowPrintDialog kullanarak Diyalog ile yazdırabiliriz.
  2. Diyalog açıldığında, belgeyi yazdırmak için gerekli yazıcıyı seçin.

Çıktı

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 8 - Doğru yazıcıyı seçin

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:

  1. PaperSize: Yazıcı tarafından kullanılan kağıt boyutlarını belirtir.
  2. PaperOrientation: Otomatik, Dik veya Yatay gibi kağıdın yönünü tanımlar.
  3. 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.
  4. NumberOfCopies: Bir belge için yazdırılacak aynı kopyaların sayısını belirtir.
  5. PrinterName: Yazdırma görevleri için atanmış yazıcının adını belirtir.
  6. PaperMargins: Milimetre cinsinden ölçülen yazdırma için kenar boşluklarını belirler.
  7. 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
$vbLabelText   $csharpLabel

Kod Açıklaması

  1. Kod, yazdırma için gerekli sınıfları ve yöntemleri içeren IronPrint ad alanını içe aktararak başlar.
  2. IronPrintDemo ad alanı içinde public olarak tanımlanan bir Program sınıfı bulunur.
  3. Main yöntemi, programın giriş noktası olarak görev yapar.
  4. Main yöntemi içinde:
    • Özel yazdırma ayarlarını yapılandırmak için printSettings adlı bir PrintSettings nesnesi 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ği PaperOrientation.Portrait olarak ayarlanır, bu da belgenin dikey konumda yazdırılacağını belirtir.
  5. Son olarak, 'sample.pdf' (yazdırılacak belgenin adı) ve printSettings (özel yazdırma ayarları) parametreleri ile Printer.Print yöntemi çağrılır. Bu yöntem, belirtilen ayarlarla yazdırma işlemini yürütür.

Çıktı

C#: Ağ Yazıcısı ile Nasıl Yazdırılır: Şekil 9 - Yazdırılmak üzere yazdırma kuyruğuna eklenen PDF belgesini gösteren örnek çı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.

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

Iron Destek Ekibi

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