Ez az útmutató néhány perc alatt segít elkezdeni a PDFium VCL használatát
Pdf tulajdonságát a TPdf összetevőreEgyszerű PDF-betöltés:
// Töltsön be egy PDF-fájlt
Pdf1.FileName := 'C:\Sample.pdf';
Pdf1.Active := True;
ShowMessage('Oldalak: ' + IntToStr(Pdf1.PageCount));
// Vagy töltsön be memóriastreamből
var
Stream: TMemoryStream;
begin
Stream := TMemoryStream.Create;
try
Stream.LoadFromFile('C:\Sample.pdf');
Pdf1.LoadDocument(Stream, True);
Pdf1.Active := True;
finally
Stream.Free;
end;
end;
// Ugrás a következő oldalra
if PdfView1.PageNumber < Pdf1.PageCount then
PdfView1.PageNumber := PdfView1.PageNumber + 1;
// Ugrás az előző oldalra
if PdfView1.PageNumber > 1 then
PdfView1.PageNumber := PdfView1.PageNumber - 1;
// Kinyeri az összes szöveget az aktuális oldalról
Pdf1.PageNumber := 1;
Memo1.Text := Pdf1.Text;
// Szöveg kinyerése téglalap alakú területről
var
RectText: WString;
begin
RectText := Pdf1.TextInRectangle(100, 100, 500, 200);
ShowMessage(RectText);
end;
// Szöveg keresése a dokumentumban
var
Position: Integer;
begin
Position := Pdf1.FindFirst('search term');
if Position >= 0 then
ShowMessage('Találat a pozíción: ' + IntToStr(Position))
else
ShowMessage('Nem található');
end;
// Új PDF létrehozása szöveggel
Pdf1.CreateDocument;
Pdf1.Compressed := True; // engedélyezze a stream tömörítését
Pdf1.Active := True;
Pdf1.AddPage(0, 595, 842); // A4 méret
Pdf1.AddText('Hello World!', 'Arial', 24, 100, 700, clBlack, $FF, 0.0);
Pdf1.SaveAs('C:\NewDocument.pdf');
Pdf1.Active := False;
// Állítsa be a nagyítási szintet (1.0 = 100%)
PdfView1.Zoom := 1.5; // 150%
// Állítsa be a megjelenítési módot
PdfView1.DisplayMode := dmSingleContinuous;
// Oldal forgatása
PdfView1.Rotation := ro90;
// Dokumentum-metaadatok beolvasása
ShowMessage('Cím: ' + Pdf1.Title);
ShowMessage('Szerző: ' + Pdf1.Author);
ShowMessage('Létrehozó: ' + Pdf1.Creator);
ShowMessage('Előállító: ' + Pdf1.Producer);
ShowMessage('Oldalak: ' + IntToStr(Pdf1.PageCount));
ShowMessage('Verzió: ' + IntToStr(Ord(Pdf1.PdfVersion)));
// Jelszóval védett PDF megnyitása
Pdf1.FileName := 'C:\Protected.pdf';
Pdf1.Password := 'mypassword';
Pdf1.Active := True;
Több gigabájtos PDF-ekhez vagy távoli / adatbázis-alapú forrásokhoz használja a
LoadCustomDocument metódust, hogy a PDFium igény szerint kérje le a blokkokat
a teljes fájl memóriába pufferelése helyett
var
FileStream: TFileStream;
begin
FileStream := TFileStream.Create('C:\Huge.pdf', fmOpenRead or fmShareDenyWrite);
Pdf1.LoadCustomDocument(FileStream, True); // AOwnsStream
Pdf1.Active := True;
end;
FitMode automatikusan keretben tartja a hosszú dokumentumokat
átméretezéskor és az aktuális oldal változásakor
PdfView1.FitMode := pfmFitPage; // teljes oldal a nézetben
// pfmFitWidth — az oldal szélessége megegyezik a nézet szélességével
// pfmActualSize — 100%
// pfmNone — kézi nagyítás
// Sötét témájú nézet minta: sötét görgetési terület, papírfehér PDF-oldal
PdfView1.Color := clBlack;
PdfView1.PageColor := clWhite;
A HighlightSearchText az aktuális nézetoldalt vizsgálja, és
minden egyezésre HighlightColor maszkkal fest
minden újrarajzoláskor
var
MatchCount: Integer;
begin
PdfView1.HighlightColor := clYellow;
MatchCount := PdfView1.HighlightSearchText('invoice');
Status.Caption := IntToStr(MatchCount) + ' találat';
end;
// Másik oldalra váltáskor a kiemelés automatikusan törlődik
A SaveAsPdfA a mentés alapműveletét egy
inkrementális frissítéssel egészíti ki, amely XMP metaadatfolyamot,
sRGB ICC OutputIntent-et és frissített dokumentumkatalógust szúr be
if Pdf1.SaveAsPdfA('C:\Report.pdfa.pdf', pac1b) then
ShowMessage('Saved PDF/A-1b');
// Bejövő dokumentum megfelelőségének ellenőrzése
case Pdf1.PdfAConformance of
pac1b: Log.Add('PDF/A-1b');
pacNone: Log.Add('Not PDF/A');
end;