Ova je stranica lokalizirana za hrvatski i zadržava nazive API-ja, datoteka i literalne vrijednosti neizmijenjenima
Ovaj će vam vodič pomoći da za svega nekoliko minuta započnete rad s PDFium VCL komponentama
Pdf komponente TPdfView tako da pokazuje na vašu komponentu TPdfJednostavno učitavanje PDF-a:
// Učitaj PDF datoteku
Pdf1.FileName := 'C:\Sample.pdf';
Pdf1.Active := True;
ShowMessage('Pages: ' + IntToStr(Pdf1.PageCount));
// Ili učitaj iz memorijskog toka
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;
// Idi na sljedeću stranicu
if PdfView1.PageNumber < Pdf1.PageCount then
PdfView1.PageNumber := PdfView1.PageNumber + 1;
// Idi na prethodnu stranicu
if PdfView1.PageNumber > 1 then
PdfView1.PageNumber := PdfView1.PageNumber - 1;
// Izdvoji sav tekst sa trenutne stranice
Pdf1.PageNumber := 1;
Memo1.Text := Pdf1.Text;
// Izdvoji tekst iz pravokutnog područja
var
RectText: WString;
begin
RectText := Pdf1.TextInRectangle(100, 100, 500, 200);
ShowMessage(RectText);
end;
// Pronađi tekst u dokumentu
var
Position: Integer;
begin
Position := Pdf1.FindFirst('search term');
if Position >= 0 then
ShowMessage('Pronađeno na poziciji: ' + IntToStr(Position))
else
ShowMessage('Nije pronađeno');
end;
// Stvori novi PDF s tekstom
Pdf1.CreateDocument;
Pdf1.Compressed := True; // uključi kompresiju tokova
Pdf1.Active := True;
Pdf1.AddPage(0, 595, 842); // veličina A4
Pdf1.AddText('Hello World!', 'Arial', 24, 100, 700, clBlack, $FF, 0.0);
Pdf1.SaveAs('C:\NewDocument.pdf');
Pdf1.Active := False;
// Postavi razinu zumiranja (1.0 = 100%)
PdfView1.Zoom := 1.5; // 150%
// Postavi način prikaza
PdfView1.DisplayMode := dmSingleContinuous;
// Rotiraj stranicu
PdfView1.Rotation := ro90;
// Pročitaj metapodatke dokumenta
ShowMessage('Naslov: ' + Pdf1.Title);
ShowMessage('Autor: ' + Pdf1.Author);
ShowMessage('Autor stvaranja: ' + Pdf1.Creator);
ShowMessage('Proizvođač: ' + Pdf1.Producer);
ShowMessage('Stranice: ' + IntToStr(Pdf1.PageCount));
ShowMessage('Verzija: ' + IntToStr(Ord(Pdf1.PdfVersion)));
// Otvori PDF zaštićen lozinkom
Pdf1.FileName := 'C:\Protected.pdf';
Pdf1.Password := 'mypassword';
Pdf1.Active := True;
Za PDF-ove veličine više gigabajta ili udaljene izvore / izvore iz baze podataka upotrijebite
LoadCustomDocument kako bi PDFium dohvaćao blokove na zahtjev
umjesto da cijelu datoteku sprema u memoriju:
var
FileStream: TFileStream;
begin
FileStream := TFileStream.Create('C:\Huge.pdf', fmOpenRead or fmShareDenyWrite);
Pdf1.LoadCustomDocument(FileStream, True); // AOwnsStream
Pdf1.Active := True;
end;
FitMode automatski drži dugačke dokumente u okviru
pri promjeni veličine i pri promjeni trenutne stranice:
PdfView1.FitMode := pfmFitPage; // cijela stranica u prikazu
// pfmFitWidth — širina stranice odgovara širini prikaza
// pfmActualSize — 100%
// pfmNone — ručno zumiranje
// Uzorak za tamni prikaz: tamno područje za pomicanje, PDF stranica bijela kao papir
PdfView1.Color := clBlack;
PdfView1.PageColor := clWhite;
HighlightSearchText skenira trenutnu stranicu prikaza i
crta masku HighlightColor preko svakog podudaranja pri svakom
ponovnom iscrtavanju:
var
MatchCount: Integer;
begin
PdfView1.HighlightColor := clYellow;
MatchCount := PdfView1.HighlightSearchText('invoice');
Status.Caption := IntToStr(MatchCount) + ' podudaranja';
end;
// Prelazak na drugu stranicu automatski briše isticanje
SaveAsPdfA naknadno obrađuje osnovno spremanje uz
inkrementalno ažuriranje koje umeće XMP tok metapodataka, sRGB
ICC OutputIntent i ažurirani katalog dokumenta:
if Pdf1.SaveAsPdfA('C:\Report.pdfa.pdf', pac1b) then
ShowMessage('PDF/A-1b je spremljen');
// Provjeri usklađenost dolaznog dokumenta
case Pdf1.PdfAConformance of
pac1b: Log.Add('PDF/A-1b');
pacNone: Log.Add('Nije PDF/A');
end;