Total PDF Converter X - правильное решение для конвертации PDF файлов в другие форматы на веб-серверах.
Windows
2000/2003/Vista/7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total PDF Converter X (SDK) — это программный комплект разработки PDF для конвертации PDF в DOC, RTF, XLS, HTML, EPS, PS, TXT, CSV или изображения (BMP, JPEG, GIF, WMF, EMF, PNG, TIFF) на веб-серверах. Используйте его, чтобы добавить возможность конвертации PDF-файлов в свои приложения. Total PDF ConverterX (SDK) можно интегрировать как в серверные, так и в настольные/клиентские приложения. Приобретая комплект разработки Total PDF Converter, вы получаете как инструмент командной строки, так и ActiveX. У него нет графического интерфейса или каких-либо прерывающих сообщений.
Для каждого типа конвертации предлагаются разные настройки. Total PDF ConverterX может обрабатывать многостраничные PDF файлы двумя способами: либо конвертировать PDF в один целевой файл, либо извлекать каждую страницу и конвертировать их в целевой формат. Программа также может объединить несколько PDF файлов в одно изображение.
Использование Total PDF ConverterX для улучшения ваших существующих приложений требует минимальных усилий. Все функции уже реализованы в коде, и вам нужно только выбрать необходимые части и вставить их в код вашего приложения с небольшими корректировками. Сотни наших клиентов успешно внедрили опции конвертации PDF в свои приложения. Получите вашу копию сейчас — и командный конвертор, и ActiveX включены в загрузку.
(включает 30-дневный бесплатный пробный период)
(только $550.00)
string src="C:\\test\\Source.PDF"; string dest="C:\\test\\Dest.TIFF"; PDFConverterX Cnv = new PDFConverterX(); Cnv.Convert(src, dest, "-c TIFF -log c:\\test\\PDF.log"); MessageBox.Show("Конвертация завершена!"); //Работа с формами Cnv.LoadFromFile(src); Cnv.SetFormFieldValue(0, "Test Name"); Cnv.SaveToFile(src);
Скачать пример .NET PDF Converter
public static class Function1 { [FunctionName("Function1")] public static async TaskRun( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { StringBuilder sbLogs = new StringBuilder(); sbLogs.AppendLine("начато..."); 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}\Converter\PDFConverterX.exe"; sbLogs.AppendLine(executablePath + "..."); var msgPath = $@"{assemblyDirectoryPath}\MSG\MSG.pdf"; var outPath = Path.GetTempFileName() + ".tiff"; startInfo.FileName = executablePath; if (File.Exists(outPath)) { File.Delete(outPath); } if (File.Exists(executablePath) && File.Exists(msgPath)) { sbLogs.AppendLine("файлы существуют..."); } else sbLogs.AppendLine("Файлы EXE и MSG не существуют..."); startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.Arguments = $"{msgPath} {outPath}"; using (Process exeProcess = Process.Start(startInfo)) { sbLogs.AppendLine($"ожидание...{DateTime.Now.ToString()}"); exeProcess.WaitForExit(); sbLogs.AppendLine($"завершено...{DateTime.Now.ToString()}"); } int sleepCounter = 10; while(!File.Exists(outPath) && sleepCounter > 0) { System.Threading.Thread.Sleep(1000); sbLogs.AppendLine("ожидание..."); sleepCounter--; } if (File.Exists(outPath)) sbLogs.AppendLine("Конвертация успешно завершена."); } catch (Exception ex) { sbLogs.AppendLine(ex.ToString()); } return new OkObjectResult(sbLogs); } }
#include <windows.h> static const CLSID CLSID_PDFConverterX = {0x6B411E7E, 0x9503,0x4793,{0xA2, 0x87, 0x1F, 0x3B, 0xA8, 0x78, 0xB9, 0x1C}}; static const IID IID_IPDFConverterX = {0xEF633BED, 0xC414,0x49B0,{0x91, 0xFB, 0xC3, 0x9C, 0x3F, 0xE0, 0x08, 0x0D}}; #undef INTERFACE #define INTERFACE IPDFConverterX DECLARE_INTERFACE_(IPDFConverterX, IDispatch) { STDMETHOD(QueryInterface)(THIS_ REFIID, PVOID*) PURE; STDMETHOD(Convert)(THIS_ LPCTSTR, LPCTSTR, LPCTSTR) PURE; STDMETHOD(About)(THIS) PURE; //const SourceFile: WideString; const DestFile: WideString; const Params: WideString; safecall; }; typedef HRESULT (__stdcall *hDllGetClassObjectFunc) (REFCLSID, REFIID, void **); int main () { HRESULT hr; if (CoInitialize(NULL)) { printf ("Ошибка в CoInitialize."); return -1; } LPCTSTR lpFileName = "PDFConverter.dll"; HMODULE hModule; hModule = LoadLibrary (lpFileName); printf ("hModule: %d\n", hModule); if (hModule == 0) { printf ("Ошибка в LoadLibrary."); return -1; } hDllGetClassObjectFunc hDllGetClassObject = NULL; hDllGetClassObject = (hDllGetClassObjectFunc) GetProcAddress (hModule, "DllGetClassObject"); if (hDllGetClassObject == 0) { printf ("Ошибка в GetProcAddress."); return -1; } IClassFactory *pCF = NULL; hr = hDllGetClassObject (&CLSID_PDFConverterX, &IID_IClassFactory, (void **)&pCF); /* Не удается загрузить с другим идентификатором */ printf ("hr hDllGetClassObject: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в hDllGetClassObject."); return -1; } IPDFConverterX *pIN; hr = pCF->lpVtbl->CreateInstance (pCF, 0, &IID_IPDFConverterX, (void **)&pIN); printf ("hr CreateInstance: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в hDllGetClassObject."); return -1; } hr = pCF->lpVtbl->Release (pCF); printf ("hr Release: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в Release."); return -1; } hr = pIN->lpVtbl->About (pIN); printf ("hr About: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в About."); return -1; } hr = pIN->lpVtbl->Convert (pIN, "test.pdf", "test.html","-cHTML"); printf ("hr Convert: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Ошибка в Convert."); return -1; } return 0; }
dim C Set C=CreateObject("PDFConverter.PDFConverterX") C.Convert "c:\source.PDF", "c:\dest.HTML", "-cHTML -log c:\pdf.log" set C = nothing
dim C Set C=CreateObject("PDFConverter.PDFConverterX") Response.Clear Response.AddHeader "Content-Type", "binary/octet-stream" Rresponse.AddHeader "Content-Disposition", "attachment; filename=test.TIFF" Response.BinaryWrite c.ConvertToStream("C:\www\ASP\Source.PDF", "C:\www\ASP", "-cTIFF -log c:\PDF.log") set C = nothing
$src="C:\\test.pdf"; $dest="C:\\test.tiff"; if (file_exists($dest)) unlink($dest); $c= new COM("PDFConverter.PDFConverterX"); $c->convert($src,$dest, "-c TIFF -log c:\doc.log"); if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole' c = WIN32OLE.new('PDFConverter.PDFConverterX') src="C:\\test\\test.pdf"; dest="C:\\test\\test.tiff"; c.convert(src,dest, "-c TIFF -log c:\\test\\PDF.log"); if not File.exist?(dest) puts c.ErrorMessage end
import win32com.client import os.path c = win32com.client.Dispatch("PDFConverter.PDFConverterX") src="C:\\test\\test.pdf"; dest="C:\\test\\test.tiff"; c.convert(src, dest, "-c TIFF -log c:\\test\\PDF.log"); if not os.path.exists(file_path): print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto; var c: OleVariant; begin c:=CreateOleObject('PDFConverter.PDFConverterX'); C.Convert('c:\test\source.pdf', 'c:\test\dest.tiff', '-c TIFF -log c:\test\PDF.log'); IF c.ErrorMessage<> Then ShowMessage(c.ErrorMessage); end;
var c = new ActiveXObject("PDFConverter.PDFConverterX"); c.Convert("C:\\test\\source.pdf", "C:\\test\\dest.tiff", "-c TIFF"); if (c.ErrorMessage!="") alert(c.ErrorMessage)
use Win32::OLE; my $src="C:\\test\\test.pdf"; my $dest="C:\\test\\test.tiff"; my $c = CreateObject Win32::OLE 'PDFConverter.PDFConverterX'; $c->convert($src,$dest, "-c TIFF -log c:\\test\\PDF.log"); print $c->ErrorMessage if -e $dest;
"До настоящего времени инструмент выполняет задание корректно, то есть конвертирует файлы PDF в файлы Excel, используя командную строку в рамках запланированной задачи Windows. Если у меня возникнут проблемы, я обязательно свяжусь с вами."
Софиан Хамри
"Большое спасибо за всю вашу помощь. Total PDF ConverterX работает отлично. Это было необходимым исправлением, когда продукт одного из ваших конкурентов зависал при запуске из службы Windows. Ваше сотрудничество и оперативный ответ действительно спасли нас, позволив выполнить обязательства перед клиентом в срок."
Майкл Дж. Балмер, ведущий инженер по интеграции
www.QuestDiagnostics.com
Обновлено Thu, 16 May 2024
(только $550.00)
|
|
|