Converter JPG para PDF usando a DLL GSDLL32.DLL em uma aplicação DELPHI
Boa tarde!
Tenho uma pequena aplicação que converte arquivos PDF para JPG usando a dll ''GSDLL32.DLL'' do GhostScript.
Porém não estou conseguindo fazer o inverso , ou seja converter um arquivo JPG em PDF.
O trecho do código é o abaixo. Está faltando algum parâmetro ?
Desde já agradeço.
Tenho uma pequena aplicação que converte arquivos PDF para JPG usando a dll ''GSDLL32.DLL'' do GhostScript.
Porém não estou conseguindo fazer o inverso , ou seja converter um arquivo JPG em PDF.
O trecho do código é o abaixo. Está faltando algum parâmetro ?
function TUnir.JuntaPdfs(outPdf: ansistring; const files: array of ansistring; pdfa : boolean): Integer;
const
GS_ARG_ENCODING_UTF8 = 1;
e_Quit = -990;
var
code, code1, gsargc, i: Integer;
gsargv: array of pansichar;
minst: PGSAPIrevision;
begin
frmAviso.lblDescricao.Caption := ''''''''''''''''Unindo os arquivos informados.'''''''''''''''';
frmAviso.gaugProgress.MaxValue:= 100;
frmAviso.gaugProgress.Progress:= 0;
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := ''''''''''''''''gs'''''''''''''''';
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := ''''''''''''''''-q'''''''''''''''';
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := ''''''''''''''''-sDEVICE=pdfwrite'''''''''''''''';
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := ''''''''''''''''-sPAPERSIZE=a4'''''''''''''''';
frmAviso.gaugProgress.Progress:= 10;
frmAviso.gaugProgress.Repaint;
frmAviso.gaugProgress.Progress:= 30;
frmAviso.gaugProgress.Repaint;
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := ''''''''''''''''-dNOPAUSE'''''''''''''''';
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := ''''''''''''''''-dBATCH'''''''''''''''';
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := pansichar(''''''''''''''''-sOutputFile='''''''''''''''' + AnsiToUtf8(outPdf));
for i := Low(files) to High(files) do
begin
setlength(gsargv, length(gsargv) + 1);
gsargv[high(gsargv)] := pansichar(''''''''''''''''-c (''''''''''''''''+files[i]+'''''''''''''''') viewJPEG'''''''''''''''');
end;
gsargc := length(gsargv);
code := gsapi_new_instance(@minst, nil);
frmAviso.gaugProgress.Progress:= 50;
frmAviso.gaugProgress.Repaint;
if (code < 0) then result := 1
else begin
code := gsapi_set_arg_encoding(minst, GS_ARG_ENCODING_UTF8);
if (code = 0) then code := gsapi_init_with_args(minst, gsargc, @gsargv[0]);
code1 := gsapi_exit(minst);
if ((code = 0) or (code = e_Quit)) then code := code1;
gsapi_delete_instance(minst);
if ((code = 0) or (code = e_Quit)) then result := 0;
end;
frmAviso.gaugProgress.Repaint;
frmAviso.gaugProgress.Progress:= 100;
end;
Desde já agradeço.
William Maciel
Curtidas 0