TotalPDFPrinterX: Simplifiez vos tâches d'impression avec l'imprimante de lot PDF Server alimentée par ActiveX.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total PDF Printer X est un SDK serveur qui imprime des fichiers PDF par lots vers des imprimantes physiques ou réseau sur des serveurs Windows — en mode headless, sans ouvrir Acrobat, Foxit ou aucun lecteur PDF dans la chaîne d'impression. Il fonctionne en silence : pas d'interface graphique, pas de boîtes de dialogue, pas de fenêtres contextuelles. Total PDF Printer X est livré à la fois avec un binaire en ligne de commande et une interface ActiveX/COM, ce qui permet de l'intégrer dans ASP, PHP, .NET, Python, Ruby, Java et tout autre back-end compatible COM. Notez que l'argument de destination est un nom d'imprimante, pas un chemin de fichier — la sortie est dirigée vers des imprimantes physiques ou réseau, et non vers le disque.
Total PDF Printer X couvre l'intégralité du scénario d'impression serveur :
-sort)
-rn), copies multiples (-NumCopy), modes recto-verso (-d vertical pour reliure côté long, -d horizontal pour reliure côté court)
-ps A4, Letter, Legal, etc.) et mode couleur (-cl monochrome) par tâche
-list pour les modèles de workers sans surveillance
Déploiement type : un dépôt FTP ou un dossier d'export ERP reçoit des PDF (factures, bons de livraison, étiquettes d'expédition, dépôts judiciaires) ; Folder Monitor capture chaque nouveau fichier et invoque Total PDF Printer X avec un nom d'imprimante et des options ; le fichier sort sur papier sans aucune intervention humaine. Plusieurs dizaines de milliers de pages par jour et par serveur d'impression, c'est la norme.
Notez que Total PDF Printer X fonctionne uniquement sur des serveurs Windows. Essayez-le gratuitement (période d'essai de 30 jours, sans limitation) et vérifiez par vous-même qu'il vaut vraiment son prix.
(inclut un essai GRATUIT de 30 jours)
(seulement $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 est un entrepôt où nous stockons et distribuons des produits pour nos clients. Nous utilisons Total PDF Printer X conjointement avec Total Folder Monitor pour automatiser l'impression des fichiers PDF provenant de nos clients et de notre système ERP. Nos clients déposent les fichiers PDF (par exemple les factures) sur notre serveur FTP, puis Total PDF Printer X les imprime, ce qui nous permet de les inclure dans les marchandises que nous expédions."
Frants Erikstrup
www.scanprint.dk
"Après l'installation de la version de Total PDF Printer et de Total PDF Printer X, aucun problème n'a été rencontré, mon retour est donc très positif. Nous commençons tout juste à utiliser cette nouvelle version (nous avions déjà utilisé une version précédente) et, si nous avons des questions, je veillerai à vous envoyer un message. Merci et cordialement."
Silverio Pattuelli
Ravenna, Italy, www.nobleagri.com
"Douze sites d'entrepôt, chacun avec sa propre imprimante d'étiquettes et son imprimante de bons de livraison. Total PDF Printer X plus Folder Monitor : un dossier de réception par imprimante, l'ERP y dépose les PDF, le papier sort au bon poste en quelques secondes. -p sélectionne l'imprimante par nom convivial ; -t place le numéro de commande dans la file d'attente Windows pour que les opérateurs puissent retrouver une tâche bloquée. Nous avons remplacé un pipeline maison automatisant Acrobat qui se cassait à chaque mise à jour d'Acrobat. Cinq ans sur PDF Printer X, aucune panne imputable au convertisseur."
Marcin Z.
Senior IT Engineer at a 3PL warehouse network
"Nous avons intégré Total PDF Printer X à notre produit de dossiers médicaux sous licence Royalty-Free. Le coût unique par projet a représenté une fraction de ce qu'Aspose.PDF ou PDFTron demandaient pour les droits de redistribution sur la chaîne d'impression. Notre installeur livre et enregistre l'ActiveX, notre application appelle Print() directement, et les utilisateurs finaux ne voient que notre interface. La limitation à l'ActiveX 32 bits nous a coûté quelques jours de retravail du pipeline, mais le support a été réactif lorsque nous avons demandé des solutions de contournement."
Sasha P.
Independent Software Vendor
"Les dépôts judiciaires arrivent en PDF ; nous les imprimons avec des filigranes contenant le numéro de dossier et des numéros de page pour le dossier physique. Les feuilles de séparation entre documents maintiennent la pile quotidienne organisée pour la greffière. -rn nous permet d'imprimer uniquement les pages de signature lorsque c'est tout ce dont nous avons besoin. Déterministe d'une exécution à l'autre, ce qui compte pour l'audit. La CLI est stable, bien documentée, et l'option -xmllog nous fournit une sortie lisible par machine, par tâche, pour notre piste d'audit."
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 est livré avec PDFPrinterX.exe, un binaire console que vous pouvez piloter depuis des scripts, des tâches planifiées, des hooks de serveur d'impression ou tout service backend qui a besoin de sortie papier. Le jeu d'options correspond à l'interface graphique PDFPrinter.exe ; pour la référence complète, consultez la documentation en ligne de commande. Notez que l'argument de destination est un nom d'imprimante, pas un chemin de fichier — la sortie va vers des imprimantes physiques ou réseau, pas vers le disque.
L'appel le plus simple possible. Omettez le nom de l'imprimante et le document part vers ce que Windows considère comme l'imprimante par défaut actuelle.
PDFPrinterX.exe "C:\docs\invoice.pdf"
-p accepte le nom convivial de l'imprimante tel qu'il apparaît dans le panneau Imprimantes Windows, ou tout fragment unique de celui-ci.
PDFPrinterX.exe "C:\docs\invoice.pdf" -p "HP LaserJet M404"
Les correspondances partielles fonctionnent aussi — -p HP sélectionnera la première imprimante dont le nom contient « HP ».
Pour les longs PDF où vous avez besoin de quelques feuilles — page de couverture, page de signature, un seul chapitre — utilisez -rn pour limiter la plage imprimée.
PDFPrinterX.exe "C:\docs\contract.pdf" -p "Office Printer" -rn "1-3,7,12-14"
Cas de bureau typique : distribuez N copies du même document, des deux côtés, A4. -NumCopy définit le nombre de copies, -d vertical active le recto-verso bord long, -ps A4 force la taille du papier.
PDFPrinterX.exe "C:\docs\handout.pdf" -p "HP LaserJet M404" -NumCopy 25 -d vertical -ps A4
Pointez le binaire sur un caractère générique et il imprime chaque fichier correspondant comme un travail séparé. Utile pour les lots nocturnes de rapports générés.
PDFPrinterX.exe "C:\reports\daily\*.pdf" -p "Reports Printer" -sort name
Ajoutez -Recurse pour inclure les sous-dossiers, ou -combine pour envoyer tout le lot comme un seul travail d'impression fusionné au lieu d'un travail par fichier.
Les imprimantes partagées sur un serveur d'impression Windows sont adressées par leur nom de partage. Passez le chemin UNC tel quel à -p.
PDFPrinterX.exe "C:\docs\report.pdf" -p "\\PRINTSRV01\Accounting-HP" -t "Q3 Report" -cl monochrome
-t définit le titre du travail affiché dans la file d'impression Windows, ce qui rend le travail facile à trouver ou à annuler.
Lorsqu'un worker externe écrit un fichier de file d'attente et que l'imprimante le consomme, vous ne voulez pas que les chemins de fichiers soient dans la ligne de commande elle-même. -list lit les masques de fichiers (un par ligne) depuis un fichier texte simple.
PDFPrinterX.exe -list "C:\queues\print-queue.txt" -p "Office Printer" -fo
-fo force le traitement sans invites ; combinez avec -do si le worker de file d'attente s'attend également à ce que les originaux soient supprimés après une impression réussie.
Une fois que PDFPrinterX.exe tourne en service ou tâche planifiée, le journal est le seul signal de ce qui s'est réellement passé. -verbosity detail écrit une ligne par fichier ; -logmode append conserve l'historique entre les exécutions ; -xmllog émet un fichier compagnon convivial pour les analyseurs.
PDFPrinterX.exe "C:\spool\*.pdf" -p "Warehouse Label Printer" -log "C:\logs\pdfprint.log" -verbosity detail -logmode append -xmllog "C:\logs\pdfprint.xml"
Mis à jour Fri, 01 May 2026
(seulement $450.00)
-p : -p "HP LaserJet M404". Les correspondances partielles fonctionnent aussi, donc -p HP sélectionne la première imprimante dont le nom contient « HP ». Pour les imprimantes partagées sur un serveur d'impression Windows, utilisez le chemin UNC du partage : -p "\\PRINTSRV01\Comptabilite-HP". Omettez -p pour imprimer vers l'imprimante Windows par défaut.new COM("PDFPrinter.PDFPrinterX") en PHP, new PDFPrinterX() en .NET, win32com.client.Dispatch("PDFPrinter.PDFPrinterX") en Python, WIN32OLE.new('PDFPrinter.PDFPrinterX') en Ruby. Notez que la méthode COM s'appelle Print, et non Convert — la destination est un nom d'imprimante, et non un chemin de fichier. Vous pouvez également invoquer le binaire en ligne de commande PDFPrinterX.exe depuis n'importe quel processus, planificateur ou script shell.-rn "1-3,7,12-14" pour des plages de pages arbitraires. -NumCopy 25 définit le nombre de copies. -d vertical active le recto-verso côté long (la reliure « livre » classique) ; -d horizontal est le recto-verso côté court (reliure « calendrier »). -ps A4/Letter/Legal force le format papier ; -cl monochrome force la sortie en noir et blanc, même sur une imprimante couleur.PDFPrinterX.exe avec le nom d'imprimante et les options que vous configurez. C'est la configuration canonique pour les entrepôts (impression automatique des bons de livraison), la comptabilité (impression automatique des factures) et les intégrations ERP (impression automatique des exports). L'option de fichier de file d'attente -list couvre les pipelines pilotés par worker, où un autre processus écrit la file d'impression.Téléchargez la version d'essai gratuite et convertissez vos fichiers en quelques minutes.
Aucune carte de crédit ou email requis.