TotalPDFPrinterX: Simplifique suas tarefas de impressão com a impressora PDF em lote do servidor com tecnologia ActiveX.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total PDF Printer X é um SDK do lado do servidor que imprime arquivos PDF em lote para impressoras físicas ou de rede em servidores Windows — de forma headless, sem abrir o Acrobat, Foxit ou qualquer visualizador de PDF no pipeline de impressão. Funciona em silêncio: sem interface gráfica, sem diálogos, sem pop-ups. O Total PDF Printer X vem tanto com um binário de linha de comando quanto com uma interface ActiveX/COM, então se integra a ASP, PHP, .NET, Python, Ruby, Java e qualquer outro backend compatível com COM. Observe que o argumento de destino é um nome de impressora, não um caminho de arquivo — a saída vai para impressoras físicas ou de rede, não para disco.
O Total PDF Printer X cobre todo o cenário de impressão em servidor:
-sort)
-rn), múltiplas cópias (-NumCopy), modos duplex (-d vertical para borda longa, -d horizontal para borda curta)
-ps A4, Letter, Legal, etc.) e modo de cor (-cl monochrome) por trabalho
-list para padrões de worker não assistidos
Implantação típica: uma pasta de FTP ou de exportação de ERP recebe PDFs (faturas, romaneios, etiquetas de envio, peças processuais); o Folder Monitor captura cada novo arquivo e invoca o Total PDF Printer X com um nome de impressora e flags; o arquivo aparece em papel sem intervenção do operador. Dezenas de milhares de páginas por dia por servidor de impressão são normais.
Observe que o Total PDF Printer X funciona apenas em servidores Windows. Experimente gratuitamente (período de teste de 30 dias, sem limitações) e descubra que ele realmente vale o investimento.
(inclui 30 dias de teste GRATUITO)
(apenas $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 "";
"A Scanprint Logistics é um depósito onde armazenamos e distribuímos produtos para nossos clientes. Usamos o Total PDF Printer X em conjunto com o Total Folder Monitor para automatizar a impressão de arquivos PDF dos nossos clientes e do nosso sistema ERP. Os clientes enviam arquivos PDF (por exemplo, faturas) para o nosso servidor FTP, e então o Total PDF Printer X os imprime, para que possamos incluí-los junto com as mercadorias que despachamos."
Frants Erikstrup
www.scanprint.dk
"Após instalar a versão do Total PDF Printer e do Total PDF Printer X, nenhum problema foi encontrado, então meu retorno é muito positivo. Estamos apenas começando a usar esta nova versão (já usávamos uma versão anterior) e, caso tenhamos dúvidas, terei o cuidado de enviar uma mensagem. Obrigado e cordiais saudações."
Silverio Pattuelli
Ravenna, Italy, www.nobleagri.com
"Doze unidades de depósito, cada uma com sua própria impressora de etiquetas e impressora de romaneio. Total PDF Printer X mais Folder Monitor: uma pasta de entrada por impressora, o ERP solta os PDFs e o papel aparece na estação correta em poucos segundos. -p seleciona a impressora pelo nome amigável; -t coloca o número do pedido na fila do Windows para que os operadores possam encontrar um trabalho travado. Substituímos um pipeline caseiro de automação do Acrobat que quebrava toda vez que o Acrobat era atualizado. Cinco anos no PDF Printer X, sem falhas que possamos atribuir ao conversor."
Marcin Z.
Senior IT Engineer at a 3PL warehouse network
"Embutimos o Total PDF Printer X no nosso produto de prontuários médicos sob a Licença Royalty-Free. A taxa única por projeto foi uma fração do que o Aspose.PDF ou o PDFTron pediam pelos direitos de redistribuição no caminho de impressão. Nosso instalador entrega e registra o ActiveX, nosso aplicativo chama Print() diretamente, os usuários finais veem apenas a nossa interface. A limitação do ActiveX de 32 bits nos custou alguns dias de retrabalho no pipeline, mas o suporte respondeu rápido quando perguntamos sobre soluções alternativas."
Sasha P.
Independent Software Vendor
"Peças processuais chegam em PDF; nós as imprimimos com marcas d'água de número de processo e numeração de página para o arquivo físico do caso. Folhas separadoras entre os documentos mantêm a pilha diária organizada para o escrivão. -rn nos permite imprimir apenas as páginas de assinatura quando é só isso que precisamos. Determinístico entre execuções, o que importa para auditoria. A CLI é estável, bem documentada, e a flag -xmllog nos dá saída legível por máquina por trabalho para nossa trilha de auditoria."
Eleni V.
Lead Developer at a court-records office
Equipes de TI que automatizam impressão PDF em lote em servidores Windows via linha de comando e ActiveX
Imprima arquivos PDF em servidores sem qualquer interação do usuário
Departamentos de TI implantam o Total PDF PrinterX em servidores Windows para imprimir documentos PDF recebidos automaticamente. A aplicação funciona silenciosamente sem interface gráfica ou mensagens pop-up, imprimindo lotes de PDFs via linha de comando de forma programada — ideal para faturas, relatórios e documentos que precisam ser impressos assim que chegam.
Imprima em lote milhares de faturas PDF em ordem de data
Departamentos de contabilidade imprimem lotes diários de faturas, extratos e relatórios financeiros PDF ordenados por data ou hora do arquivo. O Total PDF PrinterX adiciona números de página ou marcas d'água da empresa a cada folha, e páginas separadoras entre documentos mantêm a pilha impressa organizada para distribuição ou envio.
Adicione impressão PDF à sua aplicação web via ActiveX
Desenvolvedores de software integram o Total PDF PrinterX via ActiveX em aplicações web, sistemas ERP e plataformas de gerenciamento de documentos. Os usuários acionam trabalhos de impressão pelo navegador e o servidor lida com a impressão silenciosamente — sem software de mesa ou intervenção do usuário necessária no lado do servidor.
Imprima automaticamente romaneios e etiquetas de envio a partir de um servidor
Armazéns e centros de distribuição imprimem automaticamente romaneios PDF, etiquetas de envio e notas de entrega conforme os pedidos chegam. As opções de autorotação e ajuste de página lidam com diferentes tamanhos de documento sem ajuste manual, e folhas separadoras seguras para frente e verso evitam que documentos se misturem em páginas duplas.
Imprima arquivos de caso com marcas d'água e numeração de páginas
Órgãos governamentais e departamentos jurídicos imprimem em lote protocolos PDF, documentos de caso e submissões regulatórias em servidores de impressão dedicados. Adicione marcas d'água em texto com avisos de confidencialidade ou informações de direitos autorais em cada página e carimbe números de página para registros físicos organizados — tudo sem supervisão via linha de comando.
O Total PDF Printer X inclui o PDFPrinterX.exe, um binario de console que pode ser acionado a partir de scripts, tarefas agendadas, hooks de servidor de impressao ou qualquer servico de back-end que precise de saida em papel. O conjunto de flags corresponde ao da GUI PDFPrinter.exe; para a referencia completa, consulte a documentacao da linha de comando. Observe que o argumento de destino e um nome de impressora, nao um caminho de arquivo — a saida vai para impressoras fisicas ou de rede, nao para o disco.
A chamada mais simples possivel. Omita o nome da impressora e o documento vai para o que o Windows considera a impressora padrao atual.
PDFPrinterX.exe "C:\docs\invoice.pdf"
-p aceita o nome amigavel da impressora como aparece no painel de Impressoras do Windows, ou qualquer fragmento unico dele.
PDFPrinterX.exe "C:\docs\invoice.pdf" -p "HP LaserJet M404"
Correspondencias parciais tambem funcionam — -p HP selecionara a primeira impressora cujo nome contem "HP".
Para PDFs longos onde voce precisa de algumas folhas — capa, pagina de assinatura, um unico capitulo — use -rn para limitar o intervalo impresso.
PDFPrinterX.exe "C:\docs\contract.pdf" -p "Office Printer" -rn "1-3,7,12-14"
Caso tipico de escritorio: distribua N copias do mesmo documento, frente e verso, A4. -NumCopy define a contagem de copias, -d vertical habilita duplex pela borda longa, -ps A4 forca o tamanho do papel.
PDFPrinterX.exe "C:\docs\handout.pdf" -p "HP LaserJet M404" -NumCopy 25 -d vertical -ps A4
Aponte o binario para um curinga e ele imprime cada arquivo correspondente como um job separado. Util para lotes noturnos de relatorios gerados.
PDFPrinterX.exe "C:\reports\daily\*.pdf" -p "Reports Printer" -sort name
Adicione -Recurse para incluir subpastas, ou -combine para enviar o lote inteiro como um unico job de impressao mesclado em vez de um job por arquivo.
Impressoras compartilhadas em um servidor de impressao Windows sao enderecadas pelo nome de seu compartilhamento. Passe o caminho UNC literalmente para -p.
PDFPrinterX.exe "C:\docs\report.pdf" -p "\\PRINTSRV01\Accounting-HP" -t "Q3 Report" -cl monochrome
-t define o titulo do job mostrado na fila de impressao do Windows, o que torna o job facil de encontrar ou cancelar.
Quando um worker externo grava um arquivo de fila e a impressora o consome, voce nao quer os caminhos de arquivo na propria linha de comando. -list le mascaras de arquivo (uma por linha) de um arquivo de texto simples.
PDFPrinterX.exe -list "C:\queues\print-queue.txt" -p "Office Printer" -fo
-fo forca o processamento sem solicitacoes; combine com -do se o worker da fila tambem espera que os originais sejam excluidos apos uma impressao bem-sucedida.
Quando o PDFPrinterX.exe roda como um servico ou tarefa agendada, o log e o unico sinal do que realmente aconteceu. -verbosity detail grava uma linha por arquivo; -logmode append mantem o historico entre execucoes; -xmllog emite um arquivo companheiro amigavel para parser.
PDFPrinterX.exe "C:\spool\*.pdf" -p "Warehouse Label Printer" -log "C:\logs\pdfprint.log" -verbosity detail -logmode append -xmllog "C:\logs\pdfprint.xml"
Atualizado Fri, 01 May 2026
(apenas $450.00)
-p: -p "HP LaserJet M404". Correspondências parciais também funcionam, então -p HP seleciona a primeira impressora cujo nome contém "HP". Para impressoras compartilhadas em um servidor de impressão Windows, use o caminho UNC do compartilhamento: -p "\\PRINTSRV01\Accounting-HP". Omita -p para imprimir na impressora padrão atual do Windows.new COM("PDFPrinter.PDFPrinterX") em PHP, new PDFPrinterX() em .NET, win32com.client.Dispatch("PDFPrinter.PDFPrinterX") em Python, WIN32OLE.new('PDFPrinter.PDFPrinterX') em Ruby. Note que o nome do método COM é Print, não Convert — o destino é um nome de impressora, não um caminho de arquivo. Como alternativa, o binário de linha de comando PDFPrinterX.exe pode ser invocado a partir de qualquer processo, agendador ou script de shell.-rn "1-3,7,12-14" para intervalos de páginas arbitrários. -NumCopy 25 define o número de cópias. -d vertical ativa o duplex de borda longa (a encadernação típica de "livro"); -d horizontal é o duplex de borda curta (encadernação de "calendário"). -ps A4/Letter/Legal força o tamanho do papel; -cl monochrome força a saída em preto e branco mesmo em uma impressora colorida.PDFPrinterX.exe com o nome da impressora e as flags configuradas. Esta é a configuração canônica para depósitos (impressão automática de romaneios), contabilidade (impressão automática de faturas) e integrações com ERP (impressão automática de exportações). A flag de arquivo de fila -list cobre pipelines orientados por workers, em que outro processo escreve a fila de impressão.Baixe a versão de teste gratuita e converta seus arquivos em minutos.
Não é necessário cartão de crédito ou email.