웹 서버에 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를 DOC, RTF, XLS, HTML, EPS, PS, TXT, CSV 또는 이미지(BMP, JPEG, GIF, WMF, EMF, PNG, TIFF)로 변환하기 위한 PDF 소프트웨어 개발 키트입니다. PDF 파일을 귀하의 응용 프로그램에 변환하는 기능을 추가하는 데 사용하세요. Total PDF ConverterX (SDK)는 서버 및 데스크톱/클라이언트 응용 프로그램 모두에 통합될 수 있습니다. Total PDF Converter 개발 키트를 구매하면 명령줄 도구와 ActiveX를 모두 얻을 수 있습니다. GUI나 방해하는 메시지가 없습니다.
각 변환 유형에 대해 다양한 설정이 제공됩니다. Total PDF ConverterX는 여러 페이지의 PDF 파일을 두 가지 방식으로 처리할 수 있습니다: PDF를 하나의 대상 파일로 변환하거나, 각 페이지를 추출하여 대상 형식으로 변환할 수 있습니다. 이 프로그램은 여러 PDF 파일을 하나의 이미지로 결합할 수도 있습니다.
Total PDF ConverterX를 사용하여 기존 앱을 향상시키는 데는 최소한의 노력이 필요합니다. 모든 기능이 이미 코드에 구현되어 있으며, 필요한 부분을 선택하여 약간의 조정을 통해 응용 프로그램 코드에 붙여넣기만 하면 됩니다. 수백 명의 고객이 PDF 변환 옵션을 성공적으로 응용 프로그램에 구현했습니다. 지금 바로 사본을 얻으세요 - 명령줄 변환기와 ActiveX가 다운로드에 포함되어 있습니다.
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("Convert complete!"); //양식 작업 Cnv.LoadFromFile(src); Cnv.SetFormFieldValue(0, "Test Name"); Cnv.SaveToFile(src);
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("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}\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("files exists..."); } else sbLogs.AppendLine("EXE & MSG files NOT exists..."); startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.Arguments = $"{msgPath} {outPath}"; using (Process exeProcess = Process.Start(startInfo)) { sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}"); exeProcess.WaitForExit(); sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}"); } int sleepCounter = 10; while(!File.Exists(outPath) && sleepCounter > 0) { System.Threading.Thread.Sleep(1000); sbLogs.AppendLine("sleep..."); sleepCounter--; } if (File.Exists(outPath)) sbLogs.AppendLine("Conversion complete successfully."); } 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 ("Error in CoInitialize."); return -1; } LPCTSTR lpFileName = "PDFConverter.dll"; HMODULE hModule; hModule = LoadLibrary (lpFileName); printf ("hModule: %d\n", hModule); if (hModule == 0) { printf ("Error in LoadLibrary."); return -1; } hDllGetClassObjectFunc hDllGetClassObject = NULL; hDllGetClassObject = (hDllGetClassObjectFunc) GetProcAddress (hModule, "DllGetClassObject"); if (hDllGetClassObject == 0) { printf ("Error in GetProcAddress."); return -1; } IClassFactory *pCF = NULL; hr = hDllGetClassObject (&CLSID_PDFConverterX, &IID_IClassFactory, (void **)&pCF); /* Can't load with different ID */ printf ("hr hDllGetClassObject: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Error in 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 ("Error in hDllGetClassObject."); return -1; } hr = pCF->lpVtbl->Release (pCF); printf ("hr Release: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Error in Release."); return -1; } hr = pIN->lpVtbl->About (pIN); printf ("hr About: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Error in About."); return -1; } hr = pIN->lpVtbl->Convert (pIN, "test.pdf", "test.html","-cHTML"); printf ("hr Convert: %d\n", hr); if (!SUCCEEDED (hr)) { printf ("Error in 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 파일을 명령줄을 사용하여 Windows 예약 작업 내에서 Excel 파일로 변환하는 작업을 올바르게 수행하고 있습니다. 문제가 생기면 반드시 연락드리겠습니다."
소피안 하므리
"모든 도움에 진심으로 감사드립니다. Total PDF ConverterX는 훌륭하게 작동하고 있습니다. 귀사의 경쟁사의 제품이 Windows 서비스에서 실행될 때 멈추는 문제를 해결할 수 있었습니다. 귀사의 협력과 신속한 대응 덕분에 고객의 마감일을 맞추는 데 큰 도움을 받았습니다."
마이클 J. 발머, 리드 통합 엔지니어
www.QuestDiagnostics.com
|
|
|