Altbilgi içeriğine atla
GEçIş KıLAVUZLARı

RawPrint'ten IronPDF'e C# ile Nasıl Geçilir

RawPrint'ten IronPDF'ye geçmek bir ikame yerine yeniden yapılandırmadır:RawPrintve IronPDF farklı problemleri çözer ve çoğu ekip için dürüst çerçeve "takviye"dir, "değiştirme" değildir. Bu kılavuz, IronPDF'nin gerçekten birRawPrinthattını (Windows'ta bir PDF oluşturup gönderme iş akışları) özümlediği durumları ele alırken, RawPrint'i yerinde tutmanız gereken durumları (ESC/POS, ZPL, EPL, ham PCL) işaret eder.

RawPrint'ten IronPDF'e Neden Geçilmeli

RawPrint Anlama

RawPrint, NuGet paketi RawPrint (frogmorecs/RawPrint, v0.5.0, son yayımlanma tarihi Eylül 2019, şu anda nuget.org'da listelenmemiş/eski). RAW veri tipi ile doğrudanWindowsyazdırma kuyruğuna bayt akışı gönderen ince bir P/Invoke sarmalayıcıdır winspool.Drv üzerinde. Halka açık API küçüktür: Printer sınıfı, IPrinter uygulayan ve PrintRawFile ile PrintRawStream aşırı yüklemelerine maruz kalan RawPrint ad alanındadır. Alttaki Win32 çağrıları (OpenPrinter, StartDocPrinter, WritePrinter, EndDocPrinter, ClosePrinter) bu arayüzün arkasına gizlenmiştir — paketi kullanırken onları kendiniz yazmazsınız.

Bu, RawPrint'i ESC/POS fiş yazıcıları, ZPL/EPL Zebra etiket yazıcıları ve yazıcı yazılımının beklediği baytların daha önceden üretildiği miras PCL/PostScript işleri için iyi bir uyum haline getirir. Windows'a özgü ortamları hedefleyen ve doğrudan yazıcı iletişimi gerektiren geliştiriciler için,RawPrintyazıcı sürücüleri veya grafik arayüzler gibi ara katmanları atlayarak verimli bir yol sunar.

Bununla birlikte,RawPrintbir PDF kütüphanesi değildir - sadece verileri yazıcılara iletir. Uygulamanız başka bir kütüphanede bir PDF oluşturuyorsa ve ardından RawPrint'e yolluyorsa, bu tüm hat genellikleWindowsüzerinde IronPDF ile birleştirilebilir.

Temel Sorun: PDF Oluşturulamaması

RawPrint, modern belge iş akışları için uygunsuz yapan belirgin sınırlamalar içerir:

  1. PDF Oluşturma Yok: RawPrint, yalnızca veri iletimine odaklanır ve PDF oluşturma, işleme veya manipülasyonu için hiçbir işlevsellik içermez.

  2. Çok Düşük Düzey: Ham byte'larla uğraşarak, geliştiricilerin yazıcının komut dilini derinlemesine anlaması gerekir ve bu, doğrudan doküman baskı görevleri için daha az uygundur.

  3. Platforma Özgü: Bu,Windowsyazdırma havuzcularına bağlıdır ve çapraz platform uygulanabilirliğini sınırlar.

  4. Belge İşleme Yok: Sadece byte iletimi vardır, işleme yetenekleri yoktur.

  5. Sınırlı Kontrol: Minik baskı işi yapılandırma seçenekleri.

RawPrint vs IronPDF Karşılaştırması

Özellik RawPrint IronPDF
İşlevsellik Ham baskı verilerini doğrudan yazıcıya gönderir Kapsamlı PDF oluşturma ve işleme
Kullanım Durumu Etiketler gibi özel baskılar Genel belge yönetimi ve oluşturma
Platform Bağımlılığı Windows'a özel Çapraz platform
Karmaşıklık Alt düzey, yazıcı komuta bilgisi gerektirir Yüksek seviyeli, kullanıcı dostu API
PDF Oluşturma Hayır Evet
HTML'den PDF Oluşturma Hayır Evet
URL'den PDF Oluşturma Hayır Evet
PDF Düzenle/Değiştir Hayır Evet
PDF Birleştir/Böl Hayır Evet
Mevcut PDF'yi Yazdır Evet (ham byte) Evet (yüksek seviyeli API)
Yazdırma Kontrolü Temel Tüm seçenekler
İdeal için Doğrudan yazıcı erişimi ihtiyaçları Web ve masaüstü uygulamalarında PDF ile ilgili görevler
Esneklik Ham byte işlemesi nedeniyle sınırlı Birden çok işlevsellik ile kapsamlı

RawPrint'e kıyasla,IronPDF PDF'leri kapsamlı şekilde ele almak için güçlü ve çeşitli bir API sunar. .NET ortamında tanınmış bir isim olarak, IronPDF, geliştiricilere platformlar arası kolay PDF oluşturma, değiştirme ve dönüştürme yetkinliği sağlar.

Modern .NET'i hedefleyen ekipler için, IronPDF, RawPrint'in tasarım gereği sağlayamadığı, çapraz platform uyumluluğu sunar.


Başlamadan Önce

Ön Koşullar

  1. .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet Erişimi: NuGet paketlerini yükleyebilme
  3. IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin

NuGet Paket Değişiklikleri

# Remove RawPrint
dotnet remove package RawPrint

# Install IronPDF
dotnet add package IronPdf
# Remove RawPrint
dotnet remove package RawPrint

# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

RawPrint Kullanımını Bulma

# Identify all RawPrint usage
grep -r "using RawPrint" --include="*.cs" .
grep -r "PrintRawFile\|PrintRawStream" --include="*.cs" .
# Identify all RawPrint usage
grep -r "using RawPrint" --include="*.cs" .
grep -r "PrintRawFile\|PrintRawStream" --include="*.cs" .
SHELL

Not: @@winspool.Drv çevresinde el yapımı P/Invoke sarmalayıcılar bazen sınıf adını RawPrinterHelper kullanır ve yüzeysel olarakRawPrintkullanımına benzer görünür, fakat paket değildir — doğrudan Win32 yazıcı kuyruğunu çağırırlar. Paketin kendisi yalnızca IPrinter ve PrintRawFile ve PrintRawStream ile açığa çıkarır.


Tam API Referansı

Ad Alanı Değişiklikleri

// Before: RawPrint
using RawPrint;

// After: IronPDF
using IronPdf;
// Before: RawPrint
using RawPrint;

// After: IronPDF
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Temel API Eşlemeleri

RawPrint(gerçek halka açık API) IronPDF Notlar
new Printer() / IPrinter new ChromePdfRenderer() / PdfDocument RawPrintbaytları gönderir;IronPDF PDF üretir
printer.PrintRawFile(name, path, paused) PdfDocument.FromFile(path).Print() IronPDF OS yazdırma sistemine yeniden işler; RAW değil
printer.PrintRawStream(name, stream, doc, paused) new PdfDocument(stream).Print() Aynı uyarı
printer.OnJobCreated olayı yok IronPDF yazdırma seçeneklerini kullanın
yok ChromePdfRenderer.RenderHtmlAsPdf() PDF oluştur
yok PdfDocument.Merge() PDF'leri birleştir
yok pdf.ApplyWatermark() Filigran ekleme

IronPDF, belgeyi işletim sistemine teslim ederek yazdırır, ham bayt akışıyla kuyruğa göndermez. Yazıcınız RAW veri türünü gerektiriyorsa (ESC/POS, ZPL, belirli PCL iş akışları), bu RawPrint'in işidir ve IronPDF bunun yerine geçemez.


Kod Göç Örnekleri

Örnek 1: HTML'den PDF'ye Dönüştürme

Önce (RawPrint):

// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        //RawPrintcannot convert HTML to PDF. Sending raw HTML bytes to a printer just
        // prints the HTML source as text — the markup is not rendered.
        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] data = Encoding.ASCII.GetBytes(html);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            // PrintRawStream(printerName, stream, documentName, paused)
            printer.PrintRawStream("Microsoft Print to PDF", stream, "HTML Document", false);
        }
        Console.WriteLine("Raw HTML bytes sent to spooler (not rendered).");
    }
}
// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        //RawPrintcannot convert HTML to PDF. Sending raw HTML bytes to a printer just
        // prints the HTML source as text — the markup is not rendered.
        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] data = Encoding.ASCII.GetBytes(html);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            // PrintRawStream(printerName, stream, documentName, paused)
            printer.PrintRawStream("Microsoft Print to PDF", stream, "HTML Document", false);
        }
        Console.WriteLine("Raw HTML bytes sent to spooler (not rendered).");
    }
}
Imports System
Imports System.IO
Imports System.Text
Imports RawPrint

Class Program
    Shared Sub Main()
        ' RawPrint cannot convert HTML to PDF. Sending raw HTML bytes to a printer just
        ' prints the HTML source as text — the markup is not rendered.
        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
        Dim data As Byte() = Encoding.ASCII.GetBytes(html)

        Dim printer As IPrinter = New Printer()
        Using stream As New MemoryStream(data)
            ' PrintRawStream(printerName, stream, documentName, paused)
            printer.PrintRawStream("Microsoft Print to PDF", stream, "HTML Document", False)
        End Using
        Console.WriteLine("Raw HTML bytes sent to spooler (not rendered).")
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonrası (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
        Dim renderer = New ChromePdfRenderer()
        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

Mimari uyumsuzluk, paketin kendi dost API'siyle bile görünür: RawPrint, RAW veri türüyleWindowsyazıcı kuyruğuna bayt gönderir, bu nedenle HTML'yi teslim ettiğinizde, yazıcının kaynak metni yazdırmasına neden olur. IronPDF'in ChromePdfRenderer aslında işaretlemeyi render eder. Kapsamlı örnekler için HTML'den PDF'e belgelere bakın.

Örnek 2: URL'den PDF'ye Dönüştürme

Önce (RawPrint):

// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        //RawPrintcannot fetch a URL or render a web page; downloading the HTML and
        // shipping it to the spooler just prints the raw HTML source.
        using (var client = new HttpClient())
        {
            string htmlSource = client.GetStringAsync("https://example.com").GetAwaiter().GetResult();
            byte[] data = Encoding.UTF8.GetBytes(htmlSource);

            IPrinter printer = new Printer();
            using (var stream = new MemoryStream(data))
            {
                printer.PrintRawStream("Microsoft Print to PDF", stream, "Web Page", false);
            }
            Console.WriteLine("Raw HTML sent to spooler (not a rendered PDF).");
        }
    }
}
// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        //RawPrintcannot fetch a URL or render a web page; downloading the HTML and
        // shipping it to the spooler just prints the raw HTML source.
        using (var client = new HttpClient())
        {
            string htmlSource = client.GetStringAsync("https://example.com").GetAwaiter().GetResult();
            byte[] data = Encoding.UTF8.GetBytes(htmlSource);

            IPrinter printer = new Printer();
            using (var stream = new MemoryStream(data))
            {
                printer.PrintRawStream("Microsoft Print to PDF", stream, "Web Page", false);
            }
            Console.WriteLine("Raw HTML sent to spooler (not a rendered PDF).");
        }
    }
}
Imports System
Imports System.IO
Imports System.Net.Http
Imports System.Text
Imports RawPrint

Module Program
    Sub Main()
        ' RawPrint cannot fetch a URL or render a web page; downloading the HTML and
        ' shipping it to the spooler just prints the raw HTML source.
        Using client As New HttpClient()
            Dim htmlSource As String = client.GetStringAsync("https://example.com").GetAwaiter().GetResult()
            Dim data As Byte() = Encoding.UTF8.GetBytes(htmlSource)

            Dim printer As IPrinter = New Printer()
            Using stream As New MemoryStream(data)
                printer.PrintRawStream("Microsoft Print to PDF", stream, "Web Page", False)
            End Using
            Console.WriteLine("Raw HTML sent to spooler (not a rendered PDF).")
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonrası (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        // Render a live website directly to PDF with full CSS, JavaScript, and images
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Website rendered to PDF successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        // Render a live website directly to PDF with full CSS, JavaScript, and images
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Website rendered to PDF successfully");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
        Dim renderer = New ChromePdfRenderer()
        ' Render a live website directly to PDF with full CSS, JavaScript, and images
        Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
        pdf.SaveAs("webpage.pdf")
        Console.WriteLine("Website rendered to PDF successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

RawPrint web sayfalarını işleyemez - sadece baytları kuyruğa gönderir. HTML'i indirip geçirmek, yazıcının kaynak metni yazdırmasıyla sonuçlanır, işlenmiş içerikle değil. IronPDF'in RenderUrlAsPdf() CSS, JavaScript ve görsellerle tam sayfa render eder. Daha fazla bilgiyi kılavuzlarımızda öğrenin.

Örnek 3: Belge Biçimlendirme

Önce (RawPrint):

// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        //RawPrinthas no concept of fonts, margins, or layout — formatting must be
        // expressed in the printer's own command language (PCL, PostScript, ESC/POS, ZPL).
        // Example: a tiny PCL5 stream that selects portrait and a 16.66cpi font.
        string pclCommands = "\x1B&l0O\x1B(s0p16.66h8.5v0s0b3T";
        string text = "Plain text document - formatting must be expressed in printer command language";
        byte[] data = Encoding.ASCII.GetBytes(pclCommands + text);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            printer.PrintRawStream("HP LaserJet", stream, "Raw Document", false);
        }
    }
}
// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        //RawPrinthas no concept of fonts, margins, or layout — formatting must be
        // expressed in the printer's own command language (PCL, PostScript, ESC/POS, ZPL).
        // Example: a tiny PCL5 stream that selects portrait and a 16.66cpi font.
        string pclCommands = "\x1B&l0O\x1B(s0p16.66h8.5v0s0b3T";
        string text = "Plain text document - formatting must be expressed in printer command language";
        byte[] data = Encoding.ASCII.GetBytes(pclCommands + text);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            printer.PrintRawStream("HP LaserJet", stream, "Raw Document", false);
        }
    }
}
Imports System
Imports System.IO
Imports System.Text
Imports RawPrint

Module Program
    Sub Main()
        ' RawPrint has no concept of fonts, margins, or layout — formatting must be
        ' expressed in the printer's own command language (PCL, PostScript, ESC/POS, ZPL).
        ' Example: a tiny PCL5 stream that selects portrait and a 16.66cpi font.
        Dim pclCommands As String = ChrW(&H1B) & "&l0O" & ChrW(&H1B) & "(s0p16.66h8.5v0s0b3T"
        Dim text As String = "Plain text document - formatting must be expressed in printer command language"
        Dim data As Byte() = Encoding.ASCII.GetBytes(pclCommands & text)

        Dim printer As IPrinter = New Printer()
        Using stream As New MemoryStream(data)
            printer.PrintRawStream("HP LaserJet", stream, "Raw Document", False)
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonrası (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial; margin: 40px; }
                    h1 { color: #2c3e50; font-size: 24px; }
                    p { line-height: 1.6; color: #34495e; }
                    .highlight { background-color: yellow; font-weight: bold; }
                </style>
            </head>
            <body>
                <h1>Formatted Document</h1>
                <p>This is a <span class='highlight'>beautifully formatted</span> document with CSS styling.</p>
                <p>Complex layouts, fonts, colors, and images are fully supported.</p>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("formatted.pdf");
        Console.WriteLine("Formatted PDF created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial; margin: 40px; }
                    h1 { color: #2c3e50; font-size: 24px; }
                    p { line-height: 1.6; color: #34495e; }
                    .highlight { background-color: yellow; font-weight: bold; }
                </style>
            </head>
            <body>
                <h1>Formatted Document</h1>
                <p>This is a <span class='highlight'>beautifully formatted</span> document with CSS styling.</p>
                <p>Complex layouts, fonts, colors, and images are fully supported.</p>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("formatted.pdf");
        Console.WriteLine("Formatted PDF created successfully");
    }
}
Imports IronPdf
Imports System

Module Program
    Sub Main()
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
        Dim renderer As New ChromePdfRenderer()
        Dim html As String = "
            <html>
            <head>
                <style>
                    body { font-family: Arial; margin: 40px; }
                    h1 { color: #2c3e50; font-size: 24px; }
                    p { line-height: 1.6; color: #34495e; }
                    .highlight { background-color: yellow; font-weight: bold; }
                </style>
            </head>
            <body>
                <h1>Formatted Document</h1>
                <p>This is a <span class='highlight'>beautifully formatted</span> document with CSS styling.</p>
                <p>Complex layouts, fonts, colors, and images are fully supported.</p>
            </body>
            </html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("formatted.pdf")
        Console.WriteLine("Formatted PDF created successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

RawPrint ile, düz baytların ötesinde biçimlendirme, "\x1B&l0O\x1B(s0p16.66h8.5v0s0b3T" gibi yazıcı komut dizilerini elle yazmak ve hedef yazıcının PCL veya PostScript lehçesini bilmek anlamına gelir.IronPDF standart HTML ve CSS kullanır — karmaşık yerleşimler, yazı tipleri, renkler ve resimler yazıcıya özgü bilgiye gerek kalmadan tamamen desteklenir.


Özellik Karşılaştırması Özeti

Özellik RawPrint IronPDF
PDF Oluşturma
HTML'den PDF'ye Hayır Evet
URL'yi PDF'ye çevir Hayır Evet
Sıfırdan Oluştur Hayır Evet
PDF Manipülasyonu
PDF'leri birleştir Hayır Evet
PDF Ayırma Hayır Evet
Filigran Ekle Hayır Evet
Mevcut Düzenle Hayır Evet
Baskı
Ham baytları kuyruğa gönder Evet Hayır
ESC/POS, ZPL, ham PCL Evet Hayır
OS yazdırma sistemi ile yazdır Hayır Evet
Platform
Windows Evet Evet
Linux Hayır Evet
macOS Hayır Evet
Docker Hayır Evet
Diğer
Şifreleme / Güvenlik Hayır Evet
Dijital İmzalar Hayır Evet
PDF/A Hayır Evet

Geçiş Sonrası Yeni Özellikler

IronPDF'e geçtikten sonra RawPrint'in sağlayamayacağı yetenekleri elde edersiniz:

PDF Birleştirme

var pdfs = pdfFiles.Select(f => PdfDocument.FromFile(f)).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("complete.pdf");
var pdfs = pdfFiles.Select(f => PdfDocument.FromFile(f)).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("complete.pdf");
Dim pdfs = pdfFiles.Select(Function(f) PdfDocument.FromFile(f)).ToList()
Dim merged = PdfDocument.Merge(pdfs)
merged.SaveAs("complete.pdf")
$vbLabelText   $csharpLabel

Ayarlarla Yazdırma

var pdf = PdfDocument.FromFile("report.pdf");

pdf.Print(new PrintOptions
{
    PrinterName = "HP LaserJet",
    NumberOfCopies = 2,
    DPI = 300,
    GrayScale = false
});
var pdf = PdfDocument.FromFile("report.pdf");

pdf.Print(new PrintOptions
{
    PrinterName = "HP LaserJet",
    NumberOfCopies = 2,
    DPI = 300,
    GrayScale = false
});
Dim pdf = PdfDocument.FromFile("report.pdf")

pdf.Print(New PrintOptions With {
    .PrinterName = "HP LaserJet",
    .NumberOfCopies = 2,
    .DPI = 300,
    .GrayScale = False
})
$vbLabelText   $csharpLabel

Tek İş Akışında Oluştur ve Yazdır

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
    <h1>Invoice #12345</h1>
    <p>Customer: John Doe</p>
    <p>Amount: $150.00</p>
");

// Print directly
pdf.Print("HP LaserJet");

// Or save first
pdf.SaveAs("invoice.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
    <h1>Invoice #12345</h1>
    <p>Customer: John Doe</p>
    <p>Amount: $150.00</p>
");

// Print directly
pdf.Print("HP LaserJet");

// Or save first
pdf.SaveAs("invoice.pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("
    <h1>Invoice #12345</h1>
    <p>Customer: John Doe</p>
    <p>Amount: $150.00</p>
")

' Print directly
pdf.Print("HP LaserJet")

' Or save first
pdf.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

Geçiş Kontrol Listesi

Öncesi-Geçiş

  • TümRawPrintkullanımlarını belirleyin (PrintRawFile, PrintRawStream)
    • Her çağrı sitesini sınıflandırın: ofis yazıcılarına giden PDF'ler IronPDF için adaydır; ESC/POS, ZPL, EPL veya elle yapılmış PCL/PostScript baytları RawPrint'te kalmalıdır
    • Uygulamanızda kullanılan yazıcı adlarını belgeleyin — IronPDF, OS yazdırma sistemi üzerinden yazdırır, bu nedenle adlar çözülmelidir
  • Konsolide edilebilecek harici PDF oluşturma kodunu not edin
  • ironpdf.com adresinden IronPDF lisans anahtarını edinin

Kod Güncellemeleri

-IronPDF paketini kurun: dotnet add package IronPdf -RawPrintancak hiç kalan ham bayt kanalı olmadığında kaldırılmalıdır: dotnet remove package RawPrint

  • create-then-RawPrint boru hatlarını ChromePdfRenderer ve pdf.Print() ile değiştirin
    • PDF oluşturma ve yazdırmayı Windows'da tek bir iş akışında birleştirin
  • Uygulama başlangıcında lisans başlatma ekle

Test Etme

  • Hedef yazıcılara yazdırmayı test edin
  • Baskı kalitesini doğrulayın
  • Birden çok kopyayı test edin
  • Sessiz yazdırmayı test edin
  • Gerekirse çapraz platform doğrulaması yapın

Lütfen dikkate alınRawPrint, ilgili sahibinin tescilli markasıdır. Bu site,RawPrintile ilişkili, onaylı veya sponsorlu değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

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