Ver Mensaje Individual
  #1  
Antiguo 01-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Generar archivos PDF en tus aplicaciones

Primero que nada, tres consideraciones:

1. Tener instalado Adobe Acrobat completo (no el Adobe Acrobat Reader), esto lo he probado con Adobe Acrobat 4.0<br>
2. Haber instalado el Control ActiveX de Adobe Acrobat.<br>
2. Incluir en la clausula uses la biblioteca ComObj.<br>

Notas:

Esta funcion convierte los siguientes tipos archivos (probado con Delphi 5):

Código Delphi [-]
  Imagenes BMP (*.bmp)
  Imagenes JPG (*.jpg)
  Imagenes TIF (*.tif)
  Imagenes GIF (*.gif)

Modo de uso:

Código Delphi [-]
if not(ImgToPDF('C:\imagen.tif', 'C:\Imagen_PDF.pdf')) then
  ShowMessage('No se pudo convertir el Archivo');

function ImgToPDF(ImgArchivo, PDFArchivo: string): boolean;
var
  AcroApp : variant;
  AVDoc : variant;
  PDDoc : variant;
begin
  if not fileexists(ImgArchivo) then
    result := false
  else
  begin
    try
      AcroApp := CreateOleObject('AcroExch.App');
      AVDoc := CreateOleObject('AcroExch.AVDoc');

      AVDoc.Open(ImgArchivo, '');
      AVDoc := AcroApp.GetActiveDoc;

      if AVDoc.IsValid then
      begin
        PDDoc := AVDoc.GetPDDoc;

        PDDoc.SetInfo ('Title', '');
        PDDoc.SetInfo ('Author', '');
        PDDoc.SetInfo ('Subject', '');
        PDDoc.SetInfo ('Keywords', '');

        Result := PDDoc.Save(1 or 4 or 32, PDFArchivo);

        PDDoc.Close;
      end;

      AVDoc.Close(True);
      AcroApp.Exit;

    finally
      VarClear(PDDoc);
      VarClear(AVDoc);
      VarClear(AcroApp);
    end;
  end;
end;
Responder Con Cita