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:
-
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.
-
Ç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.
-
Platforma Özgü: Bu,Windowsyazdırma havuzcularına bağlıdır ve çapraz platform uygulanabilirliğini sınırlar.
-
Belge İşleme Yok: Sadece byte iletimi vardır, işleme yetenekleri yoktur.
- 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
- .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet Erişimi: NuGet paketlerini yükleyebilme
- 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
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"
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" .
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
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
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
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
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
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
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
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")
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
})
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")
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ı
ChromePdfRenderervepdf.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

