logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • About
  • Customer panel Wsparcie techniczne
    • en
    • de
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Jak utworzyć plik PDF z Delphi / C ++ Builder / Lazarus
  • Jak stworzyć interaktywny formularz PDF dla przeprowadzenia wywiadów HR w Delphi i Lazarusie

    14 grudnia 2020

    Ktoś może nie wie, ale standard PDF pozwala na tworzenie formularzy w wersji do wypełnienia.

    read more
  • Jak utworzyć plik ZPL w Delphi / C ++ Builder / Lazarus

    22 grudnia 2020

    Co to jest plik ZPL? ZPL to skrót od Zebra Programming Language. Umożliwia on zespołowi

    read more
  • Jak połączyć wiele raportów w jeden plik PDF w Delphi / Lazarus / C++ Builder

    3 września 2020

    Często konieczne jest połączenie kilku dokumentów w jeden (na przykład PDF). Może to być kilka

    read more
  • Tworzenie kodu kreskowego CODE 39 i rozszerzonego CODE 39 w środowisku Delphi / Lazarus

    23 października 2020

    CODE 39 jest kodem kreskowym opracowanym przez Intermec Corporation w 1975 roku. Kod kreskowy może

    read more
  • Tworzenie arkusza kalkulacyjnego otwartych dokumentów z Delphi / C++Builder / Lazarus

    3 sierpnia 2020

    Porównanie ODS i ODF ODS to otwarty format dla arkuszy kalkulacyjnych wykonanych zgodnie ze standardem OpenDocument

    read more

Jak utworzyć plik PDF z Delphi / C ++ Builder / Lazarus

14 maja 2020

Dość często potrzebujesz uzyskać dokument PDF z aplikacji Pascal - albo Delphi lub Lazarus.Zazwyczaj zaleca się stosowanie specjalistycznych rozwiązań, konwerterów PDF (takich jak itext, Synopse PDF Engine, PowerPDF, HotPDF, PDF Creator Pilot, PDFtoolkit VCL, Debenu Quick PDF Library itp.). W tym artykule nie będziemy omawiać ich zalet lub wad. Nieoczekiwanie okazało się, że nawet jeśli w nazwie produktu nie ma „PDF”, możliwości FastReport VCL do tworzenia PDF w Delphi spełniają wiele potrzeb programisty. A mnóstwo naszych klientów używa TYLKO funkcji FastReport do tworzenia PDF!
Więc, po pierwsze – można wysłać dowolnie złożony raport do PDF. Spróbujmy!

Tworzenie nowej aplikacji VCL w Delphi

Dodaj do formularza składniki TfrxReport, TfrxPDFExport i TButton z karty FastReport. 
application form Delphi / Lazarus for saving PDF
Kliknij dwukrotnie TfrxReport, wprowadź FR Designer. Utwórz nowy raport (Plik -> Nowy raport). Dodaj TfrxMemoView z tekstem "Test text" do MasterData1.Set 
Visual PDF designer in Delphi / Lazarus

MasterData1.RowCount = 200 (aby powtórzyć wiersz 200 razy i wygenerować raport 3-4-stronicowy, ponieważ nasz przykład nie używa zestawu danych), wyjdź z projektanta i STWÓRZ onclick dla Button1:

1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
begin
 {Generate a report. The report must be generated before exporting}
 if frxReport1.PrepareReport then
 frxReport1.ShowPreparedReport; 
 {and show preview window}
end;

W rzeczywistości ten kod wystarcza do kompleksowej pracy, generowania raportu i eksportowania do pliku PDF. Teraz utwórz dokument o dowolnej złożoności w czasie projektowania (możesz połączyć dowolne źródła danych i stamtąd pobrać informacje) - tabele, listy, ilustracje, mapy, kody QR - w tym celu upewnij się, że najpierw dodasz odpowiednie składniki do projektu (w przeciwnym razie nie będą one istniały w czasie wykonywania), złożone i wielostronicowe dokumenty, linkami wbudowanymi i spisem treści - wszystko, czego potrzebujesz i dowolny rozmiar - jednostronicowe potwierdzenie, jednostronicowy katalog, roczny raport na temat pracy pracowników na tysiącach stron. I nie zapomnij umieścić składnik eksportu PDF do naszego projektu! Uruchom i kliknij na jedyny przycisk w formularzu. Widzimy okno podglądu i przycisk eksportu do PDF.

Save to PDF button in Preview

Śmiało - zapisz plik PDF z naszej aplikacji Delphi!

Kliknij na przycisk – odwołaj się do eksportu z podglądu poniżej Pokażę Ci, jak to wszystko zrobić z kodu, możesz po prostu kliknąć na link – wyślij do PDF z kodu). Natychmiast widzimy okno dialogowe ustawień PDF.

Settings of saving to PDF

Jak widać, każdy profesjonalny konwerter PDF chciałby mieć taki zestaw opcji! Możemy wybrać które strony naszego dokumentu wysłać do PDF, która wersja PDF do użycia, funcja kompresowania zmniejsza rozmiar wynikowego pliku, osadzanie czcionek pozwala zapisać wygląd dokumentu dowolnego urządzenia innej firmy. Możemy wybrać, czy dołączyć tło do dokumentu PDF; nasz plik PDF może być również zoptymalizowany pod kątem drukowania (jakość obrazu będzie lepsza, ale rozmiar będzie większy) lub tylko do prezentacji na ekranie. Możemy ustawić, czy wynikowy plik PDF będzie zawierał zewnętrzny spis treści, jak w oryginalnym raporcie (nie mam go w moim przykładzie, więc nie można go wybrać), przezroczystość, współczynnika kompresji obrazów bitmapowych. Nawiasem mówiąc, jedną z ważnych cech FastReport VCL 6.6 jest to, że obrazy wektorowe pozostaną formą wektorową w pliku PDF, innymi słowy - bezstratne, a to będzie szczególnie zauważalne na kodach kreskowych i mapach 2D. Kolejna funkcja – cały tekst, w tym RTF, zostanie wektoryzowany po zapisaniu w formacie PDF, czyli jakość nie zostanie utracona przy zachowaniu możliwości skopiowania fragmentu tekstu z pliku PDF (chyba że zabronisz odpowiedniej opcji, o której wspomnę poniżej).

PDF/A-1a, PDF/A-1b, PDF/A-2b, PDF/A-2a, PDF/A-3a, PDF/A-3b standard selection

Zapisz do: gdzie dokładnie wyślemy nasz plik PDF (lokalny plik lub e-mail lub chmury). Otwórz po wyeksportowaniu - wynikowy plik zostanie otwarty natychmiast po wyeksportowaniu przez przeglądarkę plików PDF przypisaną domyślnie do systemu operacyjnego (na przykład Adobe Acrobat Reader).
Wygenerowany dokument można eksportować w formatach archiwalnych, takich jak PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-3a, PDF/A-3b – są one specjalnie zaprojektowane do przechowywania dokumentów bez zmian w formie elektronicznej. Na przykład czcionki, obrazy, obiekty innych firm, które są obecne w dokumencie są automatycznie osadzane w dokumencie w tym standardzie. Dość często jeden z tych standardów jest używany do elektronicznego zarządzania dokumentami w dużych organizacjach. Tutaj możesz znajdziesz więcej informacji na ten temat różnicy między PDF i PDF / A.

 

Version selection PDF 1.4, PDF 1.5, PDF 1.6, PDF 1.7

Niezwiązany z archiwum format PDF ma również kilka wersji (i można wybrać, który z nich zapisać).

Service information setting of PDF-document

Informacje dodatkowe, które trafią również do pliku PDF:  tytuł, autor, temat, słowa kluczowe (można przesłać PDF do sieci, będzie idealnie zindeksowany), narzędzie do tworzenia PDF.

PDF security settings

Bezpieczeństwo – ochrona dokumentu przed otwarciem za pomocą hasła (przy użyciu szyfrowania RC4). Możliwość zablokowania drukowania i modyfikowania dokumentu, kopiowania tekstu i grafiki, dodawania lub modyfikowania notatek tekstowych.

Settings of Delphi PDF on preview open

Konfigurowanie przeglądarki PDF po otwarciu dokumentu: Ukryj pasek narzędzi, ukryj pasek menu, ukryj interfejs użytkownika okna, okno dopasowania, okno środkowe, skalowanie wydruku. Zwykle podczas eksportowania stosuj parametrów ustawionych domyślnie, ale tym razem przeszukaj wszystkie parametry. Tak więc, jeśli my lub nasi użytkownicy nie potrzebujemy całej tej różnorodności wizualnej, możemy natychmiast

Wyśłać dokument do PDF z delphi lub kodu Lazarus

zapisywanie do pdf z Delphi z parametrami PDF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
procedura TForm1. Button1Click(Nadawca: TObject);
zaczynać
{Generowanie raportu. Raport musi zostać wygenerowany przed wyeksportem}
frxReport1. Przygotowanieraport();
{Ustaw zakres stron do wyeksportowania. Domyślnie eksportowane są wszystkie strony wygenerowanego raportu.}
frxPDFExport1. Liczba stron := '2-3';
{Ustawianie standardu PDF
TPDFStandard = (psNone, psPDFA_1a, psPDFA_1b, psPDFA_2a, psPDFA_2b, psPDFA_3a, psPDFA_3b);
Wymagane jest dodanie modułu frxExportPDFHelpers do listy zastosowań:
używa frxExportPDFHelpers;}
frxPDFExport1. PDFStandard := psNone;
{Można ustawić standardową wersję PDF dla PDFStandard = psNone
TPDFVersion = (pv14, pv15, pv16, pv17);
Wymagane jest dodanie modułu frxExportPDFHelpers do listy zastosowań:
używa frxExportPDFHelpers;}
frxPDFExport1. PDFVersion := pv17;
{Aby uzyskać mniejszy rozmiar pliku, możesz ustawić kompresję}
frxPDFExport1. Skompresowane := Prawda;
{Ustaw, czy czcionki mają być osadzane w wynikowym dokumencie.
Osadzanie czcionek znacznie zwiększa rozmiar wynikowego dokumentu}
frxPDFExport1. EmbeddedFonts := False;
{Ustaw, czy musimy wyeksportować obraz tła}
frxPDFExport1. Tło := Prawda;
{Wyłącz eksport obiektów z optymalizacją do drukowania. Z włączoną opcją obrazami będzie wysokiej jakości, ale 9 razy większa głośność}
frxPDFExport1. PrintOptimized := False;
{Ustaw, czy wynikowy plik PDF będzie zawierał zewnętrzny spis treści, tak jak w oryginalnym raporcie}
frxPDFExport1. Kontur := Fałsz;
{Ustawianie, czy obrazy mają być eksportowane z przezroczystością}
frxPDFExport1. Przejrzystość := Prawda;
{Można ustawić żądaną rozdzielczość DPI obrazów. Włączenie tej opcji powoduje wyłączenie opcji SaveOriginalImages, która umożliwia zapisywanie obrazów w ich 
oryginalna forma}
frxPDFExport1. PictureDPI := 150;
 {Ustawianie współczynnika kompresji obrazów bitmapowych}
frxPDFExport1. Jakość := 95;
 {Ustaw, czy plik wynikowy ma być otwarty po wyeksportowaniu}
frxPDFExport1. OpenAfterExport := Fałsz;
 {Ustawianie, czy ma być wyświetlany postęp eksportu
(pokaż, która strona jest obecnie eksportowana)}
frxPDFExport1. ShowProgress := Fałsz;
 {Ustawianie, czy ma być wyświetlane okno dialogowe z ustawieniami filtru eksportu}
frxPDFExport1. ShowDialog := Fałsz;
{Ustaw nazwę wynikowego pliku. Należy pamiętać, że jeśli nazwa pliku nie zostanie ustawiona i nie wyłączysz okna dialogowego filtru eksportu, będzie nadal wyświetlane okno dialogowe wyboru nazwy pliku}
frxPDFExport1. Nazwa pliku := 'C:\Output\test.pdf';
{Wypełnij odpowiednie pola na karcie Informacje}
frxPDFExport1. Tytuł := 'Twój tytuł';
frxPDFExport1. Autor := 'Twoje imię';
frxPDFExport1. Temat := 'Twój temat';
frxPDFExport1. Słowa kluczowe := "Twoje słowa kluczowe";
frxPDFExport1. Twórca := 'Nazwa twórcy';
frxPDFExport1. Producent := "Nazwa producenta";
 { Wypełnij odpowiednie pola na karcie Zabezpieczenia }
frxPDFExport1. UserPassword := "Hasło użytkownika";
frxPDFExport1. OwnerPassword := 'Hasło właściciela';
frxPDFExport1. ProtectionFlags := [ePrint, eModify, eCopy, eAnnot];
 {Ustawianie ustawień przeglądarki (karta Podgląd)}
frxPDFExport1. HideToolbar := Fałsz;
frxPDFExport1. HideMenubar := Fałsz;
frxPDFExport1. HideWindowUI := Fałsz;
frxPDFExport1. FitWindow := Fałsz;
frxPDFExport1. CenterWindow := False;
frxPDFExport1. Skalowanie wydruku := Fałsz;
 {Eksportowanie raportu}
frxReport1. Eksport(frxPDFExport1);
koniec;

I gotowe! Rozważane są tutaj funkcje i możliwości zapisu z Lazarus i Delphi do PDF FastReport VCL w wersji 6.6. Koszt licencji jest porównywalny (a często jest niższy) do miesięcznego wynagrodzenia programisty, podczas gdy tylko opcje konfiguracji i zapisywania w różnych wersjach PDF wymagają wiele miesięcy pracy programisty o wysokich kwalifikacjach oraz znajomości różnych języków PDF.

Nawiasem mówiąc, możesz nawet sprawdzić jakość konwersji PDF w naszych raportach demo lub niektóre z własnych dla zabawy. Stale sprawdzamy i testujemy je pod kątem zgodności ze standardami PDF (istnieją specjalne walidatory, ale jednocześnie fragment walidacji nie zawsze gwarantuje zgodność z tym, co widzisz i co zostanie wydrukowane, mamy wszystkie te indywidualne historie na ten temat). Na przykład, czy wiesz, jak piękne będą ilustracje w pliku PDF? Czytaj więcej tutaj: https://www.fast-report.com/en/blog/200/show/.

about product zamów
avatar
Michael Philippenko
VP
Fast Reports Team: Michae Philippenko - VP at Fast Reports
VCL Export Lazarus FastReport PDF Delphi

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2023 by Fast Reports Inc.

  • Poufność