Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

TIF > PDF

01.01.2007

Автор: Morten Ravn-Jonsen

Совместимость: Delphi 5.x (или выше)

Как-то раз получился TIF файл на несколько страниц и возникла необходимость конвертации его в PDF формат. Для использования такой возможности необходимо иметь полную версию Adobe Acrobat. Функция тестировалась на Adobe Acrobat 4.0.

Сперва Вам необходимо импортировать элементы управления Acrobat AxtiveX.

1) Выберите Component -> Import ActiveX Control

2) Выберите Acrobat Control for ActiveX и нажмите install

3) Выберите пакет ActiveX control для инсталяции

4) Добавьте PDFlib_tlb в Ваш проект. Этот файл находится в директории Borland\Delphi5\Imports.

Как использовать функцию

Вот пример её вызова:

if not TifToPDF('c:\test.tif', 'c:\test.pdf') then Showmessage('Could not convert');

Функция TifToPdf

function TifToPDF(TIFFilename, PDFFilename: string): boolean; 
var 
  AcroApp : variant; 
  AVDoc : variant; 
  PDDoc : variant; 
  IsSuccess : Boolean; 
begin 
  result := false; 
  if not fileexists(TIFFilename) then exit; 
 
  try 
    AcroApp := CreateOleObject('AcroExch.App'); 
    AVDoc := CreateOleObject('AcroExch.AVDoc'); 
 
    AVDoc.Open(TIFFilename, ''); 
    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, PDFFilename); 
 
      PDDoc.Close; 
    end; 
 
    AVDoc.Close(True); 
    AcroApp.Exit; 
 
  finally 
    VarClear(PDDoc); 
    VarClear(AVDoc); 
    VarClear(AcroApp); 
  end; 
end; 

Взято из https://forum.sources.ru