TotalPDFPrinterX: Snellisce le tue operazioni di stampa con lo stampatore batch PDF server powered by ActiveX.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total PDF Printer X è un SDK lato server che stampa file PDF in batch su stampanti fisiche o di rete sui server Windows — in modalità headless, senza aprire Acrobat, Foxit o qualsiasi visualizzatore PDF nella pipeline di stampa. Funziona in modo silenzioso: nessuna GUI, nessuna finestra di dialogo, nessun popup. Total PDF Printer X include sia un binario a riga di comando sia un'interfaccia ActiveX/COM, quindi si integra in ASP, PHP, .NET, Python, Ruby, Java e qualsiasi altro backend compatibile con COM. Da notare che l'argomento di destinazione è un nome di stampante, non un percorso file — l'output va a stampanti fisiche o di rete, non sul disco.
Total PDF Printer X copre l'intero scenario di stampa server:
-sort)
-rn), copie multiple (-NumCopy), modalità fronte/retro (-d vertical per il bordo lungo, -d horizontal per il bordo corto)
-ps A4, Letter, Legal, ecc.) e modalità colore (-cl monochrome) per ogni lavoro
-list per pattern worker non presidiati
Distribuzione tipica: una cartella di drop FTP o di esportazione ERP riceve PDF (fatture, bolle di accompagnamento, etichette di spedizione, atti giudiziari); Folder Monitor intercetta ogni nuovo file e invoca Total PDF Printer X con un nome di stampante e dei flag; il file finisce sulla carta senza intervento dell'operatore. Decine di migliaia di pagine al giorno per server di stampa è la norma.
Da notare che Total PDF Printer X funziona solo su server Windows. Provalo gratuitamente (periodo di prova di 30 giorni, senza limitazioni) e scoprirai che vale davvero il suo prezzo.
(incluso un periodo di prova GRATUITO di 30 giorni)
(solo $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 è un magazzino dove conserviamo e distribuiamo prodotti per i nostri clienti. Utilizziamo Total PDF Printer X insieme a Total Folder Monitor per automatizzare la stampa dei file PDF dei nostri clienti e del nostro sistema ERP. I nostri clienti caricano i file PDF (ad esempio le fatture) sul nostro server FTP, poi Total PDF Printer X li stampa, così possiamo includerli con la merce che spediamo."
Frants Erikstrup
www.scanprint.dk
"Dopo aver installato la versione di Total PDF Printer e Total PDF Printer X non sono stati riscontrati problemi, quindi il mio feedback è molto positivo. Stiamo appena iniziando a usare questa nuova versione (avevamo già utilizzato una versione precedente) e nel caso avessimo domande mi prenderò cura di inviarvi un messaggio. Grazie e cordiali saluti."
Silverio Pattuelli
Ravenna, Italy, www.nobleagri.com
"Dodici siti di magazzino, ognuno con la propria stampante per etichette e stampante per bolle di accompagnamento. Total PDF Printer X più Folder Monitor: una cartella di posta in arrivo per stampante, l'ERP rilascia i PDF, la carta appare alla postazione corretta in pochi secondi. -p seleziona la stampante per nome descrittivo; -t mette il numero d'ordine nella coda di Windows in modo che gli operatori possano trovare un lavoro bloccato. Abbiamo sostituito una pipeline artigianale di automazione Acrobat che si rompeva ogni volta che Acrobat veniva aggiornato. Cinque anni con PDF Printer X, nessun fallimento attribuibile al convertitore."
Marcin Z.
Senior IT Engineer at a 3PL warehouse network
"Abbiamo integrato Total PDF Printer X nel nostro prodotto per cartelle cliniche con la Royalty-Free License. La tariffa una tantum per progetto era una frazione di quanto chiedevano Aspose.PDF o PDFTron per i diritti di ridistribuzione sul percorso di stampa. Il nostro installer distribuisce e registra l'ActiveX, la nostra app chiama Print() direttamente, gli utenti finali vedono solo la nostra UI. La limitazione dell'ActiveX a 32 bit ci è costata un paio di giorni di rilavorazione della pipeline, ma il supporto è stato reattivo quando abbiamo chiesto soluzioni alternative."
Sasha P.
Independent Software Vendor
"Gli atti giudiziari arrivano in PDF; li stampiamo con filigrane del numero di causa e numerazione delle pagine per il fascicolo fisico. I fogli separatori tra i documenti mantengono organizzata la pila quotidiana per l'archivista. -rn ci permette di stampare solo le pagine delle firme quando è tutto ciò che ci serve. Deterministico tra le esecuzioni, cosa che conta per gli audit. La CLI è stabile, ben documentata, e il flag -xmllog ci fornisce output leggibile dalla macchina per ogni lavoro per il nostro audit trail."
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 include PDFPrinterX.exe, un binario console che puoi pilotare da script, attività pianificate, hook di print server o qualsiasi servizio backend che richieda output cartaceo. Il set di flag corrisponde alla GUI PDFPrinter.exe; per il riferimento completo consulta la documentazione da riga di comando. Nota che l'argomento di destinazione è un nome stampante, non un percorso file — l'output va a stampanti fisiche o di rete, non su disco.
La chiamata più semplice possibile. Ometti il nome della stampante e il documento va a quella che Windows considera la stampante predefinita corrente.
PDFPrinterX.exe "C:\docs\invoice.pdf"
-p accetta il nome amichevole della stampante come appare nel pannello Stampanti di Windows, o qualsiasi suo frammento univoco.
PDFPrinterX.exe "C:\docs\invoice.pdf" -p "HP LaserJet M404"
Anche le corrispondenze parziali funzionano — -p HP sceglierà la prima stampante il cui nome contiene "HP".
Per PDF lunghi dove ti servono pochi fogli — pagina di copertina, pagina di firma, un singolo capitolo — usa -rn per limitare l'intervallo stampato.
PDFPrinterX.exe "C:\docs\contract.pdf" -p "Office Printer" -rn "1-3,7,12-14"
Caso da ufficio tipico: distribuire N copie dello stesso documento, entrambi i lati, A4. -NumCopy imposta il numero di copie, -d vertical abilita il duplex sul lato lungo, -ps A4 forza il formato carta.
PDFPrinterX.exe "C:\docs\handout.pdf" -p "HP LaserJet M404" -NumCopy 25 -d vertical -ps A4
Punta il binario a un wildcard e stampa ogni file corrispondente come job separato. Utile per batch notturni di report generati.
PDFPrinterX.exe "C:\reports\daily\*.pdf" -p "Reports Printer" -sort name
Aggiungi -Recurse per includere le sottocartelle, oppure -combine per inviare l'intero batch come un unico job di stampa unito invece di un job per file.
Le stampanti condivise su un print server Windows sono indirizzate dal loro nome share. Passa il percorso UNC letterale a -p.
PDFPrinterX.exe "C:\docs\report.pdf" -p "\\PRINTSRV01\Accounting-HP" -t "Q3 Report" -cl monochrome
-t imposta il titolo del job mostrato nella coda di stampa Windows, il che rende il job facile da trovare o cancellare.
Quando un worker esterno scrive un file di coda e la stampante lo consuma, non vuoi i percorsi file nella riga di comando stessa. -list legge le maschere file (una per riga) da un file di testo.
PDFPrinterX.exe -list "C:\queues\print-queue.txt" -p "Office Printer" -fo
-fo forza l'elaborazione senza prompt; combina con -do se il worker della coda si aspetta anche che gli originali siano eliminati dopo una stampa riuscita.
Una volta che PDFPrinterX.exe gira come servizio o attività pianificata, il log è l'unico segnale di cosa sia effettivamente successo. -verbosity detail scrive una riga per file; -logmode append mantiene la storia tra le esecuzioni; -xmllog emette un file companion parser-friendly.
PDFPrinterX.exe "C:\spool\*.pdf" -p "Warehouse Label Printer" -log "C:\logs\pdfprint.log" -verbosity detail -logmode append -xmllog "C:\logs\pdfprint.xml"
Aggiornato Fri, 01 May 2026
(solo $450.00)
-p: -p "HP LaserJet M404". Funzionano anche le corrispondenze parziali, quindi -p HP seleziona la prima stampante il cui nome contiene "HP". Per le stampanti condivise su un server di stampa Windows usa il percorso di condivisione UNC: -p "\\PRINTSRV01\Accounting-HP". Ometti -p per stampare sulla stampante predefinita di Windows corrente.new COM("PDFPrinter.PDFPrinterX") in PHP, new PDFPrinterX() in .NET, win32com.client.Dispatch("PDFPrinter.PDFPrinterX") in Python, WIN32OLE.new('PDFPrinter.PDFPrinterX') in Ruby. Nota che il nome del metodo COM è Print, non Convert — la destinazione è un nome di stampante, non un percorso file. In alternativa, il binario a riga di comando PDFPrinterX.exe può essere invocato da qualsiasi processo, scheduler o script di shell.-rn "1-3,7,12-14" per intervalli di pagine arbitrari. -NumCopy 25 imposta il numero di copie. -d vertical abilita il fronte/retro a bordo lungo (la tipica rilegatura "a libro"); -d horizontal è il fronte/retro a bordo corto (rilegatura "a calendario"). -ps A4/Letter/Legal forza il formato carta; -cl monochrome forza l'output in bianco e nero anche su una stampante a colori.PDFPrinterX.exe con il nome della stampante e i flag che configuri. Questa è la configurazione canonica per i magazzini (stampa automatica delle bolle di accompagnamento), la contabilità (stampa automatica delle fatture) e le integrazioni ERP (stampa automatica delle esportazioni). Il flag -list per i file di coda copre le pipeline guidate da worker in cui un altro processo scrive la coda di stampa.Scarica la versione di prova e converti i tuoi file in pochi minuti.
Non è richiesta carta di credito o email.