TotalPDFPrinterX: تحسين مهام الطباعة مع طابعة PDF جماعية للخادم على أساس ActiveX.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total PDF Printer X هو SDK من جانب الخادم يطبع ملفات PDF دفعة واحدة على طابعات فعلية أو طابعات شبكية على خوادم Windows — دون واجهة، ودون فتح Acrobat أو Foxit أو أي قارئ PDF آخر في خط الطباعة. يعمل بصمت: لا واجهة رسومية، ولا مربعات حوار، ولا نوافذ منبثقة. يأتي Total PDF Printer X بنسخة سطر الأوامر وكذلك بواجهة ActiveX/COM، فيندمج بسهولة مع ASP وPHP و.NET وPython وRuby وJava وأي بيئة خلفية تدعم COM. لاحظ أن وسيط الوجهة هو اسم الطابعة، وليس مسار ملف — الإخراج يتجه إلى طابعات فعلية أو شبكية، لا إلى القرص.
يغطي Total PDF Printer X سيناريو الطباعة من جانب الخادم بالكامل:
-sort)
-rn)، ونسخ متعددة (-NumCopy)، وأنماط الطباعة المزدوجة (-d vertical للحافة الطويلة، -d horizontal للحافة القصيرة)
-ps A4، Letter، Legal، إلخ.) ووضع الألوان (-cl monochrome) لكل مهمة
-list لأنماط العمل غير المراقبة
السيناريو النموذجي للنشر: يستقبل مجلد FTP أو مجلد تصدير من ERP ملفات PDF (فواتير، قسائم تعبئة، ملصقات شحن، ملفات قضائية)؛ يلتقط Folder Monitor كل ملف جديد ويستدعي Total PDF Printer X مع اسم الطابعة والمعاملات؛ فيظهر الملف على الورق دون أي تدخل من المشغل. عشرات الآلاف من الصفحات يومياً لكل خادم طباعة أمر طبيعي.
لاحظ أن Total PDF Printer X يعمل على خوادم Windows فقط. جربه مجاناً (فترة تجريبية 30 يوماً، دون أي قيود) واكتشف بنفسك أنه يستحق ثمنه فعلاً.
(يتضمن تجربة مجانية لمدة 30 يومًا)
(فقط $450.00)
string src = @"C:\test\test1.pdf";
string printer = "HP LaserJet M404";
var prn = new PDFPrinterX();
prn.Print(src, printer, "-NumCopy 2 -d vertical -ps A4 -log c:\\test\\Printer.log");
if (!string.IsNullOrEmpty(prn.ErrorMessage))
throw new Exception(prn.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Printer\PDFPrinterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.pdf";
var printerName = "HP LaserJet M404";
startInfo.FileName = executablePath;
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"\"{srcPath}\" -p \"{printerName}\"";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Print job submitted.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("PDFPrinter.PDFPrinterX")
C.Print "c:\test\source.pdf", "HP LaserJet M404", "-NumCopy 2 -ps A4 -log c:\test\PrintPDF.log"
Response.Write C.ErrorMessage
set C = nothing
$src = "C:\\test\\test.pdf";
$printer = "My Printer Name";
$c = new COM("PDFPrinter.PDFPrinterX");
$c->Print($src, $printer, "-ps A4 -NumCopy 2");
if ($c->ErrorMessage == "") echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('PDFPrinter.PDFPrinterX')
src = "C:\\test\\test.pdf"
printer = "HP LaserJet M404"
c.Print(src, printer, "-NumCopy 2 -d vertical -log c:\\test\\PDFPrinter.log")
if c.ErrorMessage != ""
puts c.ErrorMessage
end
import win32com.client
c = win32com.client.Dispatch("PDFPrinter.PDFPrinterX")
src = "C:\\test\\test.pdf"
printer = "HP LaserJet M404"
c.Print(src, printer, "-NumCopy 2 -d vertical -log c:\\test\\PDFPrinter.log")
if c.ErrorMessage:
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('PDFPrinter.PDFPrinterX');
c.Print('c:\test\source.pdf', 'HP LaserJet M404', '-NumCopy 2 -ps A4 -log c:\test\PDFPrinter.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("PDFPrinter.PDFPrinterX");
c.Print("C:\\test\\source.pdf", "HP LaserJet M404", "-NumCopy 2 -ps A4");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test1.pdf"; my $printer = "HP LaserJet M404"; my $c = CreateObject Win32::OLE 'PDFPrinter.PDFPrinterX'; $c->Print($src, $printer, "-NumCopy 2 -log c:\\test\\PDFPrinter.log"); print $c->ErrorMessage if $c->ErrorMessage ne "";
"Scanprint Logistics مستودع نخزّن فيه المنتجات ونوزّعها لعملائنا. نستخدم Total PDF Printer X مع Total Folder Monitor لأتمتة طباعة ملفات PDF القادمة من عملائنا ومن نظام ERP لدينا. يرفع عملاؤنا ملفات PDF (مثل الفواتير) إلى خادم FTP الخاص بنا، فيقوم Total PDF Printer X بطباعتها لنرفقها مع البضائع التي نرسلها."
Frants Erikstrup
www.scanprint.dk
"بعد تثبيت إصدار Total PDF Printer وTotal PDF Printer X، لم نجد أي مشاكل، فتعليقي إيجابي جداً. بدأنا للتو استخدام هذا الإصدار الجديد (كنا نستخدم إصداراً سابقاً)، وفي حال طرأت أسئلة سأحرص على إرسال رسالة إليكم. شكراً لكم وأطيب التحيات."
Silverio Pattuelli
Ravenna, Italy, www.nobleagri.com
"اثنا عشر موقع مستودع، لكل منها طابعة ملصقات وطابعة قسائم تعبئة خاصة. Total PDF Printer X مع Folder Monitor: مجلد وارد لكل طابعة، ينزل ERP ملفات PDF فيه، فيظهر الورق عند المحطة الصحيحة خلال ثوان. -p يختار الطابعة بالاسم الودود؛ و-t يضع رقم الطلب في طابور Windows ليجد المشغلون أي مهمة عالقة. استبدلنا خط أتمتة Acrobat صنعناه يدوياً وكان يتعطل مع كل تحديث لـ Acrobat. خمس سنوات على PDF Printer X، ولم نواجه أي عطل يمكن أن نلوم عليه المحوّل."
Marcin Z.
Senior IT Engineer at a 3PL warehouse network
"دمجنا Total PDF Printer X في منتجنا الخاص بالسجلات الطبية ضمن ترخيص Royalty-Free. الرسوم لمرة واحدة لكل مشروع كانت جزءاً صغيراً مما طلبته Aspose.PDF أو PDFTron مقابل حقوق إعادة التوزيع على مسار الطباعة. مثبّتنا يشحن ActiveX ويسجلها، وتطبيقنا يستدعي Print() مباشرة، ولا يرى المستخدمون النهائيون سوى واجهتنا. كلّفنا قيد ActiveX 32 بت بضعة أيام من إعادة هيكلة الخط، لكن الدعم كان متجاوباً عندما سألنا عن الحلول البديلة."
Sasha P.
Independent Software Vendor
"تصلنا الملفات القضائية بصيغة PDF؛ نطبعها مع علامات مائية تحمل رقم القضية وأرقام الصفحات لملف القضية الفعلي. الصفحات الفاصلة بين المستندات تبقي الرزمة اليومية منظمة لكاتب السجلات. -rn يتيح لنا طباعة صفحات التوقيع فقط عندما يكون هذا كل ما نحتاجه. حتمي عبر التشغيلات، وهو أمر مهم للتدقيق. سطر الأوامر مستقر وموثق جيداً، وعلامة -xmllog تعطينا مخرجات قابلة للقراءة آلياً لكل مهمة من أجل سجل التدقيق لدينا."
Eleni V.
Lead Developer at a court-records office
IT teams that automate batch PDF printing on Windows servers via command line and ActiveX
Print PDF files on servers without any user interaction
IT departments deploy Total PDF PrinterX on Windows servers to print incoming PDF documents automatically. The application runs silently with no GUI or pop-up messages, printing batches of PDFs via command line on schedule — ideal for invoices, reports, and documents that need to be printed as soon as they arrive.
Batch-print thousands of PDF invoices in date order
Accounting departments print daily batches of PDF invoices, statements, and financial reports sorted by file date or time. Total PDF PrinterX adds page numbers or company watermarks to each sheet, and separator pages between documents keep the printed stack organized for distribution or mailing.
Add PDF printing to your web app via ActiveX
Software developers integrate Total PDF PrinterX via ActiveX into web applications, ERP systems, and document management platforms. Users trigger print jobs from a browser, and the server handles printing silently — no desktop software or user intervention required on the server side.
Auto-print packing slips and shipping labels from a server
Warehouses and distribution centers auto-print PDF packing slips, shipping labels, and delivery notes as orders flow in. Auto-rotate and fit-to-page options handle different document sizes without manual adjustment, and duplex-safe separator sheets prevent documents from bleeding across double-sided pages.
Print case files with watermarks and page numbering
Government agencies and legal departments batch-print PDF filings, case documents, and regulatory submissions on dedicated print servers. Add text watermarks with confidentiality notices or copyright information to every page, and stamp page numbers for organized physical records — all hands-free via command line.
يأتي Total PDF Printer X مع PDFPrinterX.exe، وهو ملف ثنائي يعمل من وحدة التحكم يمكنك تشغيله من السكربتات أو المهام المجدولة أو خطافات خادم الطباعة أو أي خدمة خلفية تحتاج إلى إخراج ورقي. تتطابق مجموعة الأعلام مع واجهة المستخدم الرسومية PDFPrinter.exe؛ وللاطلاع على المرجع الكامل راجع توثيق سطر الأوامر. لاحظ أن وسيطة الوجهة هي اسم طابعة، وليست مسار ملف — يذهب الإخراج إلى طابعات فعلية أو شبكية، وليس إلى القرص.
أصغر استدعاء ممكن. احذف اسم الطابعة وسيذهب المستند إلى ما يعتبره Windows الطابعة الافتراضية الحالية.
PDFPrinterX.exe "C:\docs\invoice.pdf"
يقبل -p اسم الطابعة الودي كما يظهر في لوحة طابعات Windows، أو أي جزء فريد منه.
PDFPrinterX.exe "C:\docs\invoice.pdf" -p "HP LaserJet M404"
تعمل المطابقات الجزئية أيضًا — -p HP سيختار أول طابعة يحتوي اسمها على "HP".
لملفات PDF الطويلة حيث تحتاج إلى عدد قليل من الأوراق — صفحة الغلاف أو صفحة التوقيع أو فصل واحد — استخدم -rn لتقييد النطاق المطبوع.
PDFPrinterX.exe "C:\docs\contract.pdf" -p "Office Printer" -rn "1-3,7,12-14"
حالة المكتب النموذجية: توزيع N نسخة من المستند نفسه، على وجهين، A4. يضبط -NumCopy عدد النسخ، ويُمكّن -d vertical الطباعة على الوجهين بحافة طويلة، ويفرض -ps A4 حجم الورق.
PDFPrinterX.exe "C:\docs\handout.pdf" -p "HP LaserJet M404" -NumCopy 25 -d vertical -ps A4
وجِّه الملف الثنائي إلى بطاقة بدل وسيطبع كل ملف مطابق كمهمة منفصلة. مفيد للدفعات الليلية من التقارير المُولَّدة.
PDFPrinterX.exe "C:\reports\daily\*.pdf" -p "Reports Printer" -sort name
أضِف -Recurse لتضمين المجلدات الفرعية، أو -combine لإرسال الدفعة بأكملها كمهمة طباعة مدموجة واحدة بدلاً من مهمة لكل ملف.
تتم معالجة الطابعات المشتركة على خادم طباعة Windows عبر اسم المشاركة. مرّر مسار UNC حرفيًا إلى -p.
PDFPrinterX.exe "C:\docs\report.pdf" -p "\\PRINTSRV01\Accounting-HP" -t "Q3 Report" -cl monochrome
يضبط -t عنوان المهمة الذي يظهر في قائمة انتظار طباعة Windows، مما يُسهّل العثور على المهمة أو إلغاءها.
عندما يكتب عامل خارجي ملف قائمة انتظار وتستهلكه الطابعة، لا تريد مسارات الملفات في سطر الأوامر نفسه. يقرأ -list أقنعة الملفات (واحد لكل سطر) من ملف نصي عادي.
PDFPrinterX.exe -list "C:\queues\print-queue.txt" -p "Office Printer" -fo
يفرض -fo المعالجة دون مطالبات؛ اجمعه مع -do إذا كان عامل قائمة الانتظار يتوقع أيضًا حذف الأصول بعد طباعة ناجحة.
بمجرد تشغيل PDFPrinterX.exe كخدمة أو مهمة مجدولة، يكون السجل الإشارة الوحيدة لما حدث فعلًا. يكتب -verbosity detail سطرًا واحدًا لكل ملف؛ ويحفظ -logmode append التاريخ عبر التشغيلات؛ ويُصدر -xmllog ملفًا مرافقًا ودودًا للمحلل اللغوي.
PDFPrinterX.exe "C:\spool\*.pdf" -p "Warehouse Label Printer" -log "C:\logs\pdfprint.log" -verbosity detail -logmode append -xmllog "C:\logs\pdfprint.xml"
محدث Fri, 01 May 2026
(فقط $450.00)
-p: -p "HP LaserJet M404". التطابق الجزئي يعمل كذلك، فـ -p HP يختار أول طابعة يحتوي اسمها على "HP". للطابعات المشتركة على خادم طباعة Windows استخدم مسار UNC: -p "\\PRINTSRV01\Accounting-HP". احذف -p للطباعة على طابعة Windows الافتراضية الحالية.new COM("PDFPrinter.PDFPrinterX") في PHP، وnew PDFPrinterX() في .NET، وwin32com.client.Dispatch("PDFPrinter.PDFPrinterX") في Python، وWIN32OLE.new('PDFPrinter.PDFPrinterX') في Ruby. لاحظ أن اسم طريقة COM هو Print، وليس Convert — لأن الوجهة اسم طابعة، وليست مسار ملف. كبديل، يمكن استدعاء ثنائي سطر الأوامر PDFPrinterX.exe من أي عملية أو مجدول أو سكربت shell.-rn "1-3,7,12-14" لنطاقات صفحات اعتباطية. و-NumCopy 25 يحدد عدد النسخ. -d vertical يفعّل الطباعة المزدوجة على الحافة الطويلة (تجليد "الكتاب" المعتاد)؛ و-d horizontal هو طباعة مزدوجة على الحافة القصيرة (تجليد "التقويم"). -ps A4/Letter/Legal يفرض حجم الورق؛ و-cl monochrome يفرض الإخراج بالأبيض والأسود حتى على طابعة ملونة.PDFPrinterX.exe باسم الطابعة والعلامات التي تكوّنها. هذا هو الإعداد المعتمد للمستودعات (طباعة قسائم التعبئة تلقائياً)، وللمحاسبة (طباعة الفواتير تلقائياً)، ولتكاملات ERP (طباعة الصادرات تلقائياً). علامة ملف الانتظار -list تغطي خطوط العمل التي تعتمد على عمليات أخرى تكتب طابور الطباعة.قم بتنزيل النسخة التجريبية المجانية وحول ملفاتك في دقائق.
لا تحتاج إلى بطاقة ائتمان أو بريد إلكتروني.