Por un error mio, entregue a una empresa un programa que funciona si el usuario de la pc es administrador porque setea el pdfcreator. El usuario no tiene permisos para entrar a la registry y cuando va a grabar pide nombre de archivo, lugar.. etc. Hay forma de setear el pdfcreator por codigo aunque sea que me lo grabe en un directorio predeterminado con un nombre generico y despues yo hago un copy o rename? sin pedir nada al usuario o forzar al prg a entrar como administrador sin saber el usuario del mismo.
Les dejo lo que habia hecho y funciona bien como administrador de la pc.
Código Delphi
[-]
Image.SaveToFile('c:\certificacion\'+edit1.text+'\scanner\'+trim(edit1.text)+cambiodia+'_'+inttostr( cantidad)+'.bmp');
PrinterIndex := Printer.Printers.IndexOf('PdfCreator');
with TRegistry.Create do
try
NewPath := 'c:\\certificacion\\'+edit1.text+'\\scanner';
RootKey := HKEY_CURRENT_USER;
if OpenKey('\Software\PDFCreator.net\settings\ConversionProfiles\0', True) then
begin
WriteString('FileNameTemplate',edit1.Text+cambiodia+'_'+inttostr(cantidad));
WriteString('OpenViewer','False');
if OpenKey('\Software\PDFCreator.net\settings\ConversionProfiles\0\AutoSave', True) then
begin
WriteString('TargetDirectory', NewPath);
WriteString('Enabled', 'True');
end;
CloseKey;
end;
finally
Free;
end;
QuickReport1:=TQuickReport1.Create(self);
quickReport1.Printersettings.printerindex := printer.printers.indexof('PDFcreator') ;
quickreport1.QRImage1.Picture.LoadFromFile('c:\certificacion\'+edit1.text+'\scanner\'+edit1.Text+cam biodia+'_'+inttostr(cantidad)+'.bmp');
quickreport1.QRImage1.Repaint;
quickreport1.print;