TotalPDFPrinterX: Optimice sus tareas de impresión con el Servidor de Impresión por Lote de PDF potenciado por ActiveX.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total PDF Printer X es un SDK del lado del servidor que imprime archivos PDF por lotes en impresoras físicas o de red en servidores Windows — de forma headless, sin abrir Acrobat, Foxit ni ningún visor de PDF en la cadena de impresión. Funciona en silencio: sin interfaz gráfica, sin diálogos, sin ventanas emergentes. Total PDF Printer X incluye tanto un binario de línea de comandos como una interfaz ActiveX/COM, por lo que se integra en ASP, PHP, .NET, Python, Ruby, Java y cualquier otro backend compatible con COM. Tenga en cuenta que el argumento de destino es un nombre de impresora, no una ruta de archivo — la salida se envía a impresoras físicas o de red, no al disco.
Total PDF Printer X cubre el escenario completo de impresión en servidor:
-sort)
-rn), múltiples copias (-NumCopy), modos dúplex (-d vertical para borde largo, -d horizontal para borde corto)
-ps A4, Letter, Legal, etc.) y modo de color (-cl monochrome) por trabajo
-list para patrones de trabajadores desatendidos
Despliegue típico: una carpeta de descarga FTP o de exportación de ERP recibe PDFs (facturas, albaranes, etiquetas de envío, expedientes judiciales); Folder Monitor detecta cada archivo nuevo e invoca Total PDF Printer X con un nombre de impresora y banderas; el archivo aparece en papel sin intervención del operador. Decenas de miles de páginas al día por servidor de impresión es lo habitual.
Tenga en cuenta que Total PDF Printer X solo se ejecuta en servidores Windows. Pruébelo gratis (30 días de prueba, sin limitaciones) y compruebe que merece la pena cada céntimo.
(incluye 30 días de prueba GRATUITA)
(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 es un almacén donde guardamos y distribuimos productos para nuestros clientes. Usamos Total PDF Printer X junto con Total Folder Monitor para automatizar la impresión de archivos PDF de nuestros clientes y de nuestro sistema ERP. Los clientes suben archivos PDF (por ejemplo, facturas) a nuestro servidor FTP y entonces Total PDF Printer X los imprime para que podamos incluirlos con la mercancía que enviamos."
Frants Erikstrup
www.scanprint.dk
"Tras instalar la versión de Total PDF Printer y Total PDF Printer X no se han encontrado problemas, así que mi opinión es muy positiva. Estamos empezando a usar esta nueva versión (ya usábamos una anterior) y, si surgen dudas, me encargaré de enviaros un mensaje. Gracias y un cordial saludo."
Silverio Pattuelli
Ravenna, Italy, www.nobleagri.com
"Doce centros de almacén, cada uno con su propia impresora de etiquetas y de albaranes. Total PDF Printer X más Folder Monitor: una carpeta de entrada por impresora, el ERP suelta los PDFs y el papel aparece en la estación correcta en cuestión de segundos. -p selecciona la impresora por nombre descriptivo; -t pone el número de pedido en la cola de Windows para que los operarios localicen un trabajo atascado. Sustituimos un pipeline casero de automatización de Acrobat que se rompía cada vez que Acrobat se actualizaba. Cinco años con PDF Printer X, sin fallos atribuibles al conversor."
Marcin Z.
Senior IT Engineer at a 3PL warehouse network
"Integramos Total PDF Printer X en nuestro producto de historiales médicos bajo la Licencia Libre de Royalties. La tarifa única por proyecto fue una fracción de lo que pedían Aspose.PDF o PDFTron por los derechos de redistribución en el flujo de impresión. Nuestro instalador despliega y registra el ActiveX, nuestra aplicación llama a Print() directamente y los usuarios finales solo ven nuestra interfaz. La limitación de ActiveX a 32 bits nos costó un par de días de reajuste del pipeline, pero el soporte respondió con rapidez cuando preguntamos por soluciones alternativas."
Sasha P.
Independent Software Vendor
"Los expedientes judiciales llegan en PDF; los imprimimos con marcas de agua del número de caso y numeración de páginas para el expediente físico. Las hojas separadoras entre documentos mantienen ordenada la pila diaria para el archivero. -rn nos permite imprimir solo las páginas de firma cuando es lo único que necesitamos. Determinista entre ejecuciones, lo que importa para auditoría. La CLI es estable, está bien documentada y la bandera -xmllog nos da una salida legible por máquina por trabajo para nuestro registro de auditoría."
Eleni V.
Lead Developer at a court-records office
Equipos de TI que automatizan la impresión de PDF en lote en servidores Windows mediante línea de comandos y ActiveX
Imprima archivos PDF en servidores sin ninguna interacción del usuario
Los departamentos de TI despliegan Total PDF PrinterX en servidores Windows para imprimir automáticamente los documentos PDF entrantes. La aplicación se ejecuta en silencio sin interfaz gráfica ni mensajes emergentes, imprimiendo lotes de PDFs mediante línea de comandos según lo programado. Ideal para facturas, informes y documentos que necesitan imprimirse en cuanto llegan.
Imprima en lote miles de facturas PDF en orden de fecha
Los departamentos de contabilidad imprimen a diario lotes de facturas PDF, extractos e informes financieros ordenados por fecha o hora de archivo. Total PDF PrinterX añade números de página o marcas de agua corporativas en cada hoja, y las páginas separadoras entre documentos mantienen organizada la pila impresa para su distribución o envío.
Añada impresión de PDF a su aplicación web mediante ActiveX
Los desarrolladores de software integran Total PDF PrinterX mediante ActiveX en aplicaciones web, sistemas ERP y plataformas de gestión documental. Los usuarios desencadenan trabajos de impresión desde un navegador y el servidor gestiona la impresión en silencio, sin necesidad de software de escritorio ni intervención del usuario en el lado del servidor.
Imprima automáticamente albaranes y etiquetas de envío desde un servidor
Los almacenes y centros de distribución imprimen automáticamente albaranes PDF, etiquetas de envío y notas de entrega a medida que llegan los pedidos. Las opciones de rotación automática y ajuste a página gestionan diferentes tamaños de documento sin ajuste manual, y las hojas separadoras seguras para dúplex evitan que los documentos se solapen en las páginas a doble cara.
Imprima expedientes con marcas de agua y numeración de páginas
Las agencias gubernamentales y los departamentos legales imprimen en lote presentaciones PDF, documentos del caso y envíos regulatorios en servidores de impresión dedicados. Añada marcas de agua de texto con avisos de confidencialidad o información de copyright en cada página, y estampe números de página para registros físicos organizados, todo sin intervención manual mediante línea de comandos.
Total PDF Printer X incluye PDFPrinterX.exe, un binario de consola que puedes controlar desde scripts, tareas programadas, ganchos de servidor de impresión o cualquier servicio de backend que necesite salida en papel. El conjunto de opciones coincide con la GUI PDFPrinter.exe; para la referencia completa consulta la documentación de la línea de comandos. Ten en cuenta que el argumento de destino es un nombre de impresora, no una ruta de archivo — la salida va a impresoras físicas o de red, no a disco.
La llamada más sencilla posible. Omite el nombre de impresora y el documento va a lo que Windows considera la impresora predeterminada actual.
PDFPrinterX.exe "C:\docs\invoice.pdf"
-p acepta el nombre amigable de la impresora tal como aparece en el panel Impresoras de Windows, o cualquier fragmento único del mismo.
PDFPrinterX.exe "C:\docs\invoice.pdf" -p "HP LaserJet M404"
Las coincidencias parciales también funcionan — -p HP escogerá la primera impresora cuyo nombre contenga "HP".
Para PDFs largos donde necesitas unas pocas hojas — portada, página de firma, un solo capítulo — usa -rn para limitar el rango impreso.
PDFPrinterX.exe "C:\docs\contract.pdf" -p "Office Printer" -rn "1-3,7,12-14"
Caso típico de oficina: repartir N copias del mismo documento, a doble cara, en A4. -NumCopy establece el número de copias, -d vertical activa el dúplex de borde largo, -ps A4 fuerza el tamaño de papel.
PDFPrinterX.exe "C:\docs\handout.pdf" -p "HP LaserJet M404" -NumCopy 25 -d vertical -ps A4
Apunta el binario a un comodín y imprimirá cada archivo coincidente como un trabajo separado. Útil para lotes nocturnos de informes generados.
PDFPrinterX.exe "C:\reports\daily\*.pdf" -p "Reports Printer" -sort name
Añade -Recurse para incluir subcarpetas, o -combine para enviar el lote completo como un único trabajo de impresión fusionado en lugar de un trabajo por archivo.
Las impresoras compartidas en un servidor de impresión Windows se direccionan por su nombre de recurso compartido. Pasa la ruta UNC textualmente a -p.
PDFPrinterX.exe "C:\docs\report.pdf" -p "\\PRINTSRV01\Accounting-HP" -t "Q3 Report" -cl monochrome
-t establece el título del trabajo mostrado en la cola de impresión de Windows, lo que facilita encontrarlo o cancelarlo.
Cuando un trabajador externo escribe un archivo de cola y la impresora lo consume, no quieres las rutas de archivo en la propia línea de comandos. -list lee máscaras de archivo (una por línea) desde un archivo de texto plano.
PDFPrinterX.exe -list "C:\queues\print-queue.txt" -p "Office Printer" -fo
-fo fuerza el procesamiento sin avisos; combina con -do si el trabajador de la cola también espera que los originales se borren tras una impresión correcta.
Una vez que PDFPrinterX.exe corre como servicio o tarea programada, el registro es la única señal de lo que realmente pasó. -verbosity detail escribe una línea por archivo; -logmode append conserva el historial entre ejecuciones; -xmllog emite un archivo compañero amigable para parsers.
PDFPrinterX.exe "C:\spool\*.pdf" -p "Warehouse Label Printer" -log "C:\logs\pdfprint.log" -verbosity detail -logmode append -xmllog "C:\logs\pdfprint.xml"
Actualizado Fri, 01 May 2026
(solo $450.00)
-p: -p "HP LaserJet M404". También funcionan coincidencias parciales, así que -p HP selecciona la primera impresora cuyo nombre contenga "HP". Para impresoras compartidas en un servidor de impresión Windows, utilice la ruta UNC del recurso: -p "\\PRINTSRV01\Accounting-HP". Omita -p para imprimir en la impresora predeterminada actual de Windows.new COM("PDFPrinter.PDFPrinterX") en PHP, new PDFPrinterX() en .NET, win32com.client.Dispatch("PDFPrinter.PDFPrinterX") en Python, WIN32OLE.new('PDFPrinter.PDFPrinterX') en Ruby. Tenga en cuenta que el método COM se llama Print, no Convert — el destino es un nombre de impresora, no una ruta de archivo. Como alternativa, el binario de línea de comandos PDFPrinterX.exe puede invocarse desde cualquier proceso, planificador o script de shell.-rn "1-3,7,12-14" para rangos de páginas arbitrarios. -NumCopy 25 establece el número de copias. -d vertical activa el dúplex por borde largo (la encuadernación típica de "libro"); -d horizontal es dúplex por borde corto (encuadernación de "calendario"). -ps A4/Letter/Legal fuerza el tamaño de papel; -cl monochrome fuerza la salida en blanco y negro incluso en una impresora a color.PDFPrinterX.exe con el nombre de impresora y las banderas que haya configurado. Esta es la configuración canónica para almacenes (impresión automática de albaranes), contabilidad (impresión automática de facturas) e integraciones de ERP (impresión automática de exportaciones). La bandera de archivo de cola -list cubre los pipelines basados en trabajadores donde otro proceso escribe la cola de impresión.Descargue la versión de prueba y convierta sus archivos en minutos.
No se requiere tarjeta de crédito ni email.