翻譯|使用教程|編輯:楊鵬連|2020-12-03 10:06:38.370|閱讀 459 次
概述:使用LEADTOOLS虛擬打印機SDK,開發(fā)人員可以創(chuàng)建虛擬打印機解決方案,以在本地或網(wǎng)絡服務器上托管,以允許多個用戶訪問它。借助LEADTOOLS對150多種文件格式的支持,用戶可以將這些虛擬打印作業(yè)保存為幾乎任何格式。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LEADTOOLS Recognition Imaging SDK是精選的LEADTOOLS SDK功能集,旨在在企業(yè)級文檔自動化解決方案中構建端到端文檔成像應用程序,這些解決方案需要OCR,MICR,OMR,條形碼,表單識別和處理,PDF,打印捕獲 ,檔案,注釋和圖像查看功能。 這套功能強大的工具利用LEAD屢獲殊榮的圖像處理技術,智能識別可用于識別和提取任何類型的掃描或傳真形式圖像數(shù)據(jù)的文檔功能。
點擊下載LEADTOOLS Recognition Imaging SDK試用版
隨著全球?qū)?yōu)化無紙化辦公系統(tǒng)的關注,對虛擬打印解決方案的需求從未如此高漲。虛擬打印機是一種模擬設備,可以模擬物理打印機,但無需在紙張上打印,而是可以訪問內(nèi)存中的文件并處理頁面,以便用戶可以將其保存到文件或通過其他方式(例如電子郵件或電子郵件)傳輸。數(shù)據(jù)庫。使用LEADTOOLS虛擬打印機SDK,開發(fā)人員可以創(chuàng)建虛擬打印機解決方案,以在本地或網(wǎng)絡服務器上托管,以允許多個用戶訪問它。借助LEADTOOLS對150多種文件格式的支持,用戶可以將這些虛擬打印作業(yè)保存為幾乎任何格式。
下面的代碼展示了創(chuàng)建虛擬打印機解決方案所需的基礎知識。如果您需要完整的分步教程,請查看我們的“使用虛擬打印機驅(qū)動程序打印到文件”教程。
static Printer LeadPrinter;
static DocumentWriter DocumentWriter;
static PrinterInfo PrinterInfo;
static string OutputFile;
static void SetupPrinter()
{
List<string> installedPrinters = new List<string>();
foreach (string printer in PrinterSettings.InstalledPrinters)
installedPrinters.Add(printer);
string printerName = "LEADTOOLS Printer";
string printerPassword = "";
string documentPrinterRegPath = @"SOFTWARE\LEAD Technologies, Inc.\21\Printer";
PrinterInfo = new PrinterInfo
{
MonitorName = printerName,
PortName = printerName,
ProductName = printerName,
PrinterName = printerName,
Password = printerPassword,
RegistryKey = documentPrinterRegPath + printerName,
RootDir = @"C:\LEADTOOLS21\Bin\Common\PrinterDriver",
Url = "http://www.leadtools.com",
PrinterExe = AppDomain.CurrentDomain.BaseDirectory
};
// Install the Printer
if (!installedPrinters.Contains(printerName))
Printer.Install(PrinterInfo);
// Create Job Event Handlers
LeadPrinter = new Printer(printerName);
LeadPrinter.EmfEvent += new EventHandler<EmfEventArgs>(LeadPrinter_EmfEvent);
LeadPrinter.JobEvent += new EventHandler<JobEventArgs>(LeadPrinter_JobEvent);
}
static void LeadPrinter_EmfEvent(object sender, EmfEventArgs e)
{
Metafile metaFile = new Metafile(e.Stream);
DocumentWriterEmfPage documentPage = new DocumentWriterEmfPage
{
EmfHandle = metaFile.GetHenhmetafile()
};
DocumentWriter.AddPage(documentPage);
}
static void LeadPrinter_JobEvent(object sender, JobEventArgs e)
{
string printerName = e.PrinterName;
int jobID = e.JobID;
if (e.JobEventState == EventState.JobStart)
{
OutputFile = Path.Combine(@"C:\Temp", Path.ChangeExtension(Path.GetRandomFileName(), "pdf"));
DocumentWriter.BeginDocument(OutputFile, DocumentFormat.Pdf);
Console.WriteLine($"Job {jobID} for {printerName} was started");
}
else if (e.JobEventState == EventState.JobEnd)
{
DocumentWriter.EndDocument();
Console.WriteLine($"Job {jobID} for {printerName} was ended. PDF saved to {OutputFile}");
}
}
要自己進行測試,請確保從我們的網(wǎng)站上免費獲得最新的LEADTOOLS SDK評估(如果還沒有的話)。該試用版有效期為60天,并提供無限制的聊天和電子郵件支持。
支持
需要幫助來獲取此樣本嗎?請聯(lián)系我們的支持團隊以獲取免費技術支持!有關價格或許可問題,您可以聯(lián)系我們的銷售團隊。
請繼續(xù)關注,因為正如我們之前的帖子中所承諾的那樣,我們將提供更多教程,程序員可以使用它們來開發(fā)直接影響數(shù)據(jù)捕獲、識別、交換和其他緊迫業(yè)務需求的應用程序。
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: