Se usi Linux e hai bisogno di convertire in un colpo solo tanti file PDF costituiti da tante pagine ciascuno, in formati immagine come jpg o PNG, allora potrebbe piacerti questa applicazione che ho realizzato io in free pascal.
Avevo un disperato bisogno di convertire in blocco tanti pdf multipagina ma ogni applicazione che ho provato mi dava sempre problemi:
una non accettava i pdf, l'altra era limitata e per sbloccarla voleva che sottoscrivessi l'abbonamento, un'altra ancora era solo per Windows ecc ecc.
Ti lascio il link per scaricarla e il codice sorgente qui di seguito. Fammi sapere se è tutto ok con un commento, a presto!
https://mega.nz/file/eElwCSwb#HNYKDepXW2WpZp0xMzQa68g4makPn1Yc1XmHfFzWNlo
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,Process,fileutil;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
ComboBox1: TComboBox;
SelectDirectoryDialog1: TSelectDirectoryDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
cmd, s,estensione,nome_immagine,cartellaPDF : string;
listaPDF: TStringList;
flist: textfile;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var rigadelfile,prima,dopo : string;
begin
prima:='';
dopo:='';
if combobox1.ItemIndex = 1 then
begin
estensione:= '-png';
end
else
begin
estensione:='-jpeg';
end;
AssignFile(flist,'.list.txt');
reset(flist);
rigadelfile:='';
while not Eof(flist) do
begin
ReadLn(flist,rigadelfile);
prima:=rigadelfile;
dopo:= StringReplace(prima, cartellaPDF, '', [rfReplaceAll, rfIgnoreCase]);
dopo:= copy(dopo,1,length(dopo)-4);
cmd:= 'pdftoppm '+estensione+' '+rigadelfile+' '+dopo;
RunCommand('/bin/bash',['-c',cmd],s);
rigadelfile:='';
end;
closefile(flist);
button1.Enabled:=false;
if FileExists('.list.txt') then DeleteFile('.list.txt');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if SelectDirectoryDialog1.Execute then
begin
cartellaPDF:=SelectDirectoryDialog1.FileName + PathDelim;
listaPDF := FindAllFiles(cartellaPDF, '*.pdf', false);
try
listaPDF.SaveToFile('.list.txt');
finally
listaPDF.Free;
end;
button1.Enabled:=true;
end;
end;
end.
https://www.my101.org/discussione.asp?scrol=1&id_articolo=1853