O Total PDF Converter X é a solução certa para converter arquivos PDF para outros formatos em servidores web.
Windows
2000/2003/Vista/7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
O Total PDF Converter X (SDK) é um kit de desenvolvimento de software PDF para converter PDF em DOC, RTF, XLS, HTML, EPS, PS, TXT, CSV ou imagens (BMP, JPEG, GIF, WMF, EMF, PNG, TIFF) em servidores web . Use-o para adicionar a capacidade de converter arquivos PDF em seus próprios aplicativos. O Total PDF ConverterX (SDK) pode ser integrado em aplicativos de servidor e desktop/cliente. Comprando o kit de desenvolvimento Total PDF Converter, você obtém tanto a ferramenta de linha de comando quanto o ActiveX . Ele não tem GUI nem mensagens de interrupção.
Diferentes configurações são oferecidas para cada tipo de conversão. O Total PDF ConverterX pode processar arquivos PDF de várias páginas de 2 maneiras : converter PDF em um arquivo de destino ou extrair cada página e convertê-las para o formato de destino. O programa também pode combinar vários arquivos PDF em uma imagem.
Usar o Total PDF ConverterX para aprimorar seus aplicativos existentes requer esforços mínimos. Todos os recursos já estão implementados no código, e você precisa apenas escolher as partes necessárias e colá-las no código do seu aplicativo com pequenos ajustes. Centenas de nossos clientes implementaram com sucesso opções de conversão de PDF em seus aplicativos. Obtenha sua cópia agora - tanto o conversor de linha de comando quanto o ActiveX estão incluídos no download.
(inclui 30 dias de teste GRATUITO)
(apenas $550.00)
string src="C:\\teste\\Fonte.PDF";
string dest="C:\\teste\\Dest.TIFF";
PDFConverterX Cnv = novo PDFConverterX();
Cnv.Convert(origem, destino, "-c TIFF -log c:\\teste\\PDF.log");
MessageBox.Show("Conversão concluída!");
//Trabalhando com Formulários
Cnv.LoadFromFile(origem);
Cnv.SetFormFieldValue(0, "Nome do teste");
Cnv.SaveToFile(fonte);
classe estática pública Function1
{
[FunçãoNome("Função1")]
tarefa pública estática assíncrona Correr(
[HttpTrigger(AuthorizationLevel.Anonymous, "obter", "postar", Rota = nulo)] HttpRequest req,
Registro do ILogger)
{
StringBuilder sbLogs = novo StringBuilder();
sbLogs.AppendLine("iniciado...");
tentar
{
ProcessStartInfo startInfo = novo ProcessStartInfo();
startInfo.CreateNoWindow = verdadeiro;
startInfo.UseShellExecute = falso;
var assemblyDirectoryPath = Caminho.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\PDFConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var msgPath = $@"{assemblyDirectoryPath}\MSG\MSG.pdf";
var outPath = Caminho.GetTempFileName() + ".tiff";
startInfo.FileName = executablePath;
se (Arquivo.Existe(outPath))
{
Arquivo.Excluir(outPath);
}
se (Arquivo.Existe(executablePath) && Arquivo.Existe(msgPath))
{
sbLogs.AppendLine("arquivos existem...");
}
outro
sbLogs.AppendLine("Arquivos EXE e MSG NÃO existem...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{msgPath} {outPath}";
usando (Processo exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"espera...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"completo...{DateTime.Now.ToString()}");
}
int ContadorSleep = 10;
enquanto(!Arquivo.Existe(outPath) && sleepCounter > 0)
{
Sistema.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("dormir...");
Contador de sono--;
}
se (Arquivo.Existe(outPath))
sbLogs.AppendLine("Conversão concluída com sucesso.");
}
pegar (Exceção ex)
{
sbLogs.AppendLine(ex.ToString());
}
retornar novo OkObjectResult(sbLogs);
}
}
#incluir <windows.h>
const estático CLSID CLSID_PDFConverterX =
{0x6B411E7E, 0x9503,0x4793,{0xA2, 0x87, 0x1F, 0x3B, 0xA8, 0x78, 0xB9, 0x1C}};
const estático IID IID_IPDFConverterX =
{0xEF633BED, 0xC414,0x49B0,{0x91, 0xFB, 0xC3, 0x9C, 0x3F, 0xE0, 0x08, 0x0D}};
#INTERFACE indefinida
#define INTERFACE IPDFConverterX
DECLARE_INTERFACE_(IPDFConverterX, IDispatch)
{
MÉTODOPADRÃO(Interface de Consulta)(ESTE_ REFIID, PVOID*) PURO;
MÉTODOPADRÃO(Converter)(ESTE_ LPCTSTR, LPCTSTR, LPCTSTR) PURO;
MÉTODOPADRÃO(Sobre)(ESTE) PURO;
//const SourceFile: WideString; const DestFile: WideString; const Params: WideString; safecall;
};
typedef HRESULT (__stdcall *hDllGetClassObjectFunc) (REFCLSID, REFIID, vazio **);
int principal () {
HRESULT horas;
se (CoInitialize(NULL)) {
printf ("Erro em CoInitialize.");
retornar -1;
}
LPCTSTR lpFileName = "PDFConverter.dll";
HMODULE hMódulo;
hModule = LoadLibrary (lpNomeDoArquivo);
printf ("hMódulo: %d\n", hMódulo);
se (hModule == 0) {
printf ("Erro em LoadLibrary.");
retornar -1;
}
hDllGetClassObjectFunc hDllGetClassObject = NULO;
hDllGetClassObject = (hDllGetClassObjectFunc) GetProcAddress (hModule, "DllGetClassObject");
se (hDllGetClassObject == 0) {
printf ("Erro em GetProcAddress.");
retornar -1;
}
IClassFactory *pCF = NULL;
hr = hDllGetClassObject (&CLSID_PDFConverterX, &IID_IClassFactory, (void **)&pCF);
/* Não é possível carregar com ID diferente */
printf ("hr hDllGetClassObject: %d\n", hr);
se (!SUCESSO (hr)) {
printf ("Erro em hDllGetClassObject.");
retornar -1;
}
IPDFConverterX *pIN;
hr = pCF->lpVtbl->CreateInstance(pCF, 0, &IID_IPDFConverterX, (void **)&pIN);
printf ("hr CriarInstância: %d\n", hr);
se (!SUCESSO (hr)) {
printf ("Erro em hDllGetClassObject.");
retornar -1;
}
hr = pCF->lpVtbl->Liberação (pCF);
printf ("hr Lançamento: %d\n", hr);
se (!SUCESSO (hr)) {
printf ("Erro na liberação.");
retornar -1;
}
hr = pIN->lpVtbl->Sobre (pIN);
printf ("hr Sobre: %d\n", hr);
se (!SUCESSO (hr)) {
printf ("Erro em About.");
retornar -1;
}
hr = pIN->lpVtbl->Converter(pIN, "teste.pdf", "teste.html","-cHTML");
printf ("hr Converter: %d\n", hr);
se (!SUCESSO (hr)) {
printf ("Erro na conversão.");
retornar -1;
}
retornar 0;
}
C escuro
Defina C=CreateObject("PDFConverter.PDFConverterX")
C.Converter "c:\source.PDF", "c:\dest.HTML", "-cHTML -log c:\pdf.log"
conjunto C = nada
C escuro
Defina C=CreateObject("PDFConverter.PDFConverterX")
Resposta.Limpar
Response.AddHeader "Tipo de conteúdo", "fluxo binário/octeto"
Rresponse.AddHeader "Content-Disposition", "anexo; nome do arquivo=test.TIFF"
Resposta.BinaryWrite c.ConvertToStream("C:\www\ASP\Source.PDF", "C:\www\ASP", "-cTIFF -log c:\PDF.log")
conjunto C = nada
$src="C:\\teste.pdf";
$dest="C:\\teste.tiff";
se (file_existe($dest)) unlink($dest);
$c= novo COM("PDFConverter.PDFConverterX");
$c->convert($src,$dest, "-c TIFF -log c:\doc.log");
se (file_existe($dest)) eco "OK"; senão eco "falha:".$c->ErrorMessage;
requer 'win32ole'
c = WIN32OLE.new('PDFConverter.PDFConverterX')
src="C:\\teste\\teste.pdf";
dest="C:\\teste\\teste.tiff";
c.convert(origem,destino, "-c TIFF -log c:\\teste\\PDF.log");
se não File.exist?(dest)
coloca c.ErrorMessage
fim
importar win32com.client
importar os.path
c = win32com.client.Dispatch("PDFConverter.PDFConverterX")
src="C:\\teste\\teste.pdf";
dest="C:\\teste\\teste.tiff";
c.convert(origem, dest, "-c TIFF -log c:\\teste\\PDF.log");
se não os.path.exists(file_path):
imprimir(c.ErrorMessage)
usa Diálogos, Vcl.OleAuto;
var
c: OleVariant;
começar
c:=CreateOleObject('PDFConverter.PDFConverterX');
C.Convert('c:\teste\fonte.pdf', 'c:\teste\destino.tiff', '-c TIFF -log c:\teste\PDF.log');
SE c.ErrorMessage<> Então
MostrarMensagem(c.ErrorMessage);
fim;
var c = novo ActiveXObject("PDFConverter.PDFConverterX");
c.Convert("C:\\teste\\origem.pdf", "C:\\teste\\destino.tiff", "-c TIFF");
se (c.ErrorMessage!="")
alerta(c.ErrorMessage)
usar Win32::OLE; meu $src="C:\\teste\\teste.pdf"; meu $dest="C:\\teste\\teste.tiff"; meu $c = CreateObject Win32::OLE 'PDFConverter.PDFConverterX'; $c->convert($src,$dest, "-c TIFF -log c:\\teste\\PDF.log"); imprimir $c->ErrorMessage se -e $dest;
"Até agora, a ferramenta está fazendo o trabalho corretamente, ou seja, convertendo arquivos PDF em arquivos Excel usando a linha de comando dentro de uma tarefa agendada do Windows. Se eu tiver algum problema, certamente entrarei em contato com você."
Sofiane Hamri
"Muito obrigado por toda a sua ajuda. O Total PDF ConverterX está funcionando muito bem. Essa foi uma correção muito necessária quando um dos produtos do seu concorrente travava quando executado a partir de um serviço do Windows. Sua cooperação e resposta rápida foram um verdadeiro salva-vidas ao nos permitir cumprir os prazos dos nossos clientes."
Michael J. Balmer, Engenheiro de Integração Líder
www.QuestDiagnostics.com
Atualizado Thu, 30 Oct 2025
(apenas $550.00)
|
|
|