Tipy a triky v Delphi, díl 128. – práce s PDF

Jak zobrazit a manipulovat s PDF dokumenty v Delphi aplikacích? To je dnešní téma a ukážeme si jednu z nejjednodušších metod.

Delphi nám celkem pochopitelně nenabízejí žádné vhodné komponenty pro práci s PDF soubory, takže si musíme poradit sami. Máme na vybranou ze dvou variant. První možností je použít nějakou cizí komponentu (cizí v tom smyslu, že nemá nic společného s Adobe) nebo si případně vytvořit vlastní, které se pokusí formát PDF načíst pomocí vlastních algoritmů a technik. Toto řešení může být poměrně pracné (pokud ho budeme vytvářet sami) a navíc výsledek nemusí být za každých okolností úplně ideální. Výhodou je naopak to, že náš program bude zcela nezávislý na ostatních programech, které jsou v počítači uživatele nainstalovány. Druhé řešení totiž počítá s tím, že uživatel má nainstalovánu některou aplikaci od Adobe, která s PDF umí pracovat (stačí pochopitelně i běžný Acrobat Reader). Do Delphi si importujeme příslušnou ActiveX knihovnu a následné použití pak už bude velmi snadné. Výhodou je 100% kompatibilita (protože využijeme přímo zdroj od Adobe), ale uživatel musí mít na svém počítači nainstalován Acrobat Reader. To zase není takový problém, když je dnes formát PDF jedním z nejběžnějších multiplatformních formátů a prohlížeč Acrobat Reader je ke stažení zdarma.

Postup bude tedy následující. V hlavním menu Delphi zvolíme položku Component a zde Import ActiveX Control. V seznamu najdeme položku Acrobat Control for ActiveX a stiskneme tlačítko Install. Dále se postup podobá běžné instalaci komponent. Určíme ještě, kam se má knihovna nainstalovat a je hotovo. Na záložce ActiveX (pokud jsme během instalace nezvolili jinou) pak najdeme novou komponentu Pdf.

Na prázdný formulář tuto novou komponentu umístíme a můžeme upravit některé její parametry počínaje rozměrem komponenty, protože komponenta je samozřejmě vizuální. A to je v podstatě vše. Ještě přidáme na formulář tlačítko, které se postará o načtení souboru. Můžete pochopitelně použít i OpenDialog, který jsme zde pro jednoduchost vynechali. Bližším zkoumáním dalších parametrů a metod této komponenty zjistíte, že ovládat lze prakticky vše od samotné navigace po dokumentu, jeho zvětšení, tisk a podobně. Ovlivnit se dá i vzhled zobrazeného dokumentu. Viditelná plocha totiž neobsahuje jen samotný text, ale i ovládací prvky známé z Acrobat Readeru. V Delphi pak můžeme jednotlivé prvky (jako je např. toolbar) vypnout, což je naznačeno ve zdrojovém kódu.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, PdfLib_TLB, StdCtrls;

type
  TForm1 = class(TForm)
    Pdf1: TPdf;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Pdf1.LoadFile(`test.pdf`);
  Pdf1.setShowToolbar(false);
  Pdf1.setShowScrollbars(false);
end;

end.

Tímto způsobem tak můžeme snadno do našich aplikací implementovat podporu PDF formátu. Malá vada na kráse je bohužel to, že při aktivaci tlačítka pro načtení souboru a inicializaci ActiveX knihovny dojde k zobrazení startovací obrazovky Acrobat Readeru, ale to je jen drobný detail.

Diskuze (14) Další článek: Testovací verze ortomapy zdarma

Témata článku: Software, Programování, PDF, Práce, PDF Reader, Acrobat, Zobrazený prvek, Adobe Reader, Díl, Adobe Acrobat, TRI, DEL, Malá vada, Trik, Druhé řešení


Určitě si přečtěte

Vybrali jsme 12 programovatelných hraček a stavebnic pro děti a jejich rodiče

Vybrali jsme 12 programovatelných hraček a stavebnic pro děti a jejich rodiče

** Získejte děti pro matematiku a základy techniky ** Kupte jim hračku nebo stavebnici, které vdechnou vlastní život ** Vybrali jsme stavebnice pro malé caparty i budoucí experty

Jakub Čížek | 9

Teď už Chromium ovládne Windows 10 úplně. Microsoft dokončil WebView2

Teď už Chromium ovládne Windows 10 úplně. Microsoft dokončil WebView2

** Před dvěma lety se Microsoft zasnoubil s Chromem ** Nový Edge není zdaleka jejich jediné dítě ** Ještě důležitější je komponenta WebView2

Jakub Čížek | 50

Otestovali jsme 8 mobilů do 8 000 Kč: rozdíly ve výkonu jsou ohromné

Otestovali jsme 8 mobilů do 8 000 Kč: rozdíly ve výkonu jsou ohromné

** Mobil za 8 000 Kč uspokojí většinu uživatelů ** Klasické foťáky stačí, širokáče ale zklamaly ** Zásadní jsou rozdíly ve výkonu

Časopis Computer | 5

Velký test televizorů v Computeru: i levnější značky překvapily kvalitou obrazu

Velký test televizorů v Computeru: i levnější značky překvapily kvalitou obrazu

** Jak funguje biometrické zabezpečení ve Windows ** Nejlepší správci hesel ** Létáme v Microsoft Flight Simulator

Časopis Computer | 5

Jak sestavit rodokmen. Z informací, které jsou na internetu

Jak sestavit rodokmen. Z informací, které jsou na internetu

Podrobný návod, jak hledat ve starých matrikách informace o předcích a nemuset při tom ani vstát od počítače. Základy internetové genealogie.

Marek Lutonský | 59


Aktuální číslo časopisu Computer

Megatest mobilů do 5 500 Kč

Test levných herních notebooků

Hrajeme na Xbox Series X

Programy pro kontrolu dětí na počítači