Delphi 7-13 i C++ Builder Bez DLL

sgcPDF, biblioteka PDF w czystym Object Pascalu dla Delphi i C++ Builder

Twórz, edytuj, wyświetlaj, renderuj, wyodrębniaj, szyfruj, podpisuj, redaguj i waliduj pliki PDF za pomocą komponentów napisanych w całości w Object Pascalu. Nie ma żadnej DLL do wdrożenia ani zewnętrznego silnika PDF: parser, zapis, czcionki, dekodery obrazów, renderery i kryptografia są wkompilowane w Twoją aplikację. Rdzeń działa w systemach Windows, Linux, macOS, iOS i Android, z kontrolką przeglądarki VCL, przeglądarką FireMonkey i rasterowym silnikiem renderującym dla serwerów. Dołączony jest pełny kod źródłowy.

Pełny kod źródłowy
Windows, Linux, macOS, iOS & Android
Delphi 7 → 13, C++ Builder
Zero zewnętrznych zależności
15 komponentów sgcPDF_*.pas PDF 1.0-2.0, odczyt i zapis, w czystym Object Pascalu.
Twórz TsgcPDFDocument
Edytuj TsgcPDFEditor
Podgląd TsgcPDFViewerControl
Wyodrębnij TsgcPDFTextExtractor
Podpisz PAdES B-B to B-LTA
PDF/A & PDF/UA TsgcPDFAValidator
Redaguj TsgcPDFRedactor
15 Komponenty palety Dokument, edytor, przeglądarki, ekstraktory, podpisywanie
0 DLL do wdrożenia Parser, renderer, czcionki i kryptografia w Pascalu
5 Systemy operacyjne Windows, Linux, macOS, iOS, Android
6 Poziomy zgodności PDF/A PDF/A-1, 2 i 3, poziomy a i b, oraz PDF/UA-1

Trzy rzeczy, które warto wiedzieć na początek

Nic do zainstalowania na maszynie docelowej

sgcPDF nie jest nakładką na PDFium, Ghostscript, serwer COM ani żadną inną bibliotekę natywną. Parsowanie, zapis, osadzanie i tworzenie podzbiorów czcionek, dekodowanie obrazów, renderowanie, szyfrowanie i podpisywanie są zaimplementowane w jednostkach sgcPDF_*.pas, więc Twój plik wykonywalny stanowi całe wdrożenie.

Jednostki rdzenia nie mają zależności od VCL ani FMX, dzięki czemu ten sam kod działa w narzędziu konsolowym, usłudze Windows, demonie Linux lub serwerze WWW.

Zakres platform

Które części działają gdzie

Tworzenie, edycja, ekstrakcja tekstu i obrazów, formularze, szyfrowanie, podpisy, redagowanie, PDF/A oraz renderer rastrowy kompilują się dla Windows i Linux64 oraz dla macOS, iOS i Android. Renderer GDI, eksporter i kontrolki przeglądarki VCL są dostępne tylko w Windows, a TsgcPDFViewerFMX obejmuje Windows, macOS, iOS i Android.

Zaawansowane podpisy

PAdES przez sgcSign, podstawowe podpisywanie wbudowane

sgcPDF samodzielnie podpisuje i weryfikuje pliki PDF za pomocą certyfikatu PFX. Dla poziomów bazowych PAdES B-B, B-T, B-LT i B-LTA oraz dla kluczy przechowywanych na kartach inteligentnych, w magazynie certyfikatów Windows lub w chmurowych modułach HSM, opcjonalny mostek TsgcPDFPAdESSigner korzysta z dostawców kluczy sgcSign, licencjonowanego osobno.

Jedna biblioteka na cały cykl życia PDF

Od pierwszej napisanej strony aż po podpisany, zarchiwizowany i zredagowany plik, który przekazujesz dalej, każdy krok działa w tej samej bazie kodu Object Pascal.

Twórz: dokumenty z kodu, HTML lub płótna

Strony, tekst w 14 standardowych czcionkach lub osadzone i tworzone jako podzbiór czcionki TrueType i OpenType, obrazy (JPEG, PNG, BMP, TIFF), linie, krzywe, gradienty, tabele przepływające między stronami, kody kreskowe i kody QR, adnotacje, zakładki i opcjonalne warstwy treści. TsgcPDFHTMLRenderer zamienia HTML z CSS na paginowany PDF, a TsgcPDFCanvas i odtwarzanie EMF konwertują istniejący kod rysujący.

Zobacz funkcje →

Edytuj: zmieniaj pliki, których nie utworzyłeś

Znaki wodne, nagłówki, stopki, numery stron i pieczęcie, łączenie i dzielenie, wyodrębnianie, wstawianie, usuwanie, obracanie i zmiana kolejności stron. Zapis przyrostowy dodaje nową wersję do oryginalnego pliku, dzięki czemu wcześniejsze podpisy pozostają ważne.

Zobacz funkcje →

Podgląd i renderowanie: przeglądarki VCL i FMX oraz renderer serwerowy

Kontrolka przeglądarki VCL z miniaturami, konspektem, zaznaczaniem tekstu, wyszukiwaniem, wypełnianiem formularzy i drukowaniem, przeglądarka FireMonkey dla Windows, macOS, iOS i Android oraz rasterowy renderer w czystym Object Pascalu, który zamienia strony na PNG na serwerach Windows i Linux bez GDI.

Zobacz funkcje →

Wyodrębnij: tekst, pozycje i obrazy

Zwykły tekst dla strony lub całego dokumentu, fragmenty tekstu ze współrzędnymi, czcionką i rozmiarem oraz obrazy strony zdekodowane do PNG, JPEG lub BMP. Dekodery obejmują Flate, LZW, ASCII85, RunLength, JPEG (baseline i progresywny), JPEG 2000, CCITT G3/G4 i JBIG2.

Zobacz funkcje →

Zabezpiecz i podpisz: szyfrowanie, podpisy, redagowanie

Szyfrowanie hasłem RC4 40/128, AES-128 i AES-256, szyfrowanie certyfikatem (klucz publiczny), podpisy cyfrowe z widocznymi polami i znacznikami czasu, PAdES B-B, B-T, B-LT i B-LTA przez mostek sgcSign, weryfikacja podpisów oraz prawdziwe redagowanie usuwające treść zamiast ją zasłaniać.

Zobacz funkcje →

Zgodność: PDF/A, PDF/UA, otagowany PDF, Factur-X

Wyjście PDF/A-1, PDF/A-2 i PDF/A-3 w poziomach a i b z wbudowanym walidatorem, otagowany PDF z drzewem struktury i tekstem alternatywnym, kontrole PDF/UA-1, osadzone pliki z relacjami PDF/A-3 oraz osadzanie e-faktur Factur-X, ZUGFeRD i XRechnung.

Zobacz funkcje →

Kilka linijek Delphi

Każdy przykład na tej stronie pochodzi z programu skompilowanego ze źródłami sgcPDF i uruchomionego. Współrzędne są podane w punktach PDF (1/72 cala), z początkiem układu w lewym dolnym rogu strony.

procedure CreateHelloPDF(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.Info.Title := 'Hello sgcPDF';
    // A4 portrait: 595 x 842 points, origin at the bottom left corner
    oPage := oPDF.AddPage(595, 842);
    oPage.DrawTextColor('Hello sgcPDF', 50, 780, sfHelveticaBold, 24, 0, 0.2, 0.6);
    oPage.DrawLine(50, 770, 545, 770, 1.5);
    oPage.DrawText('A PDF written in pure Pascal.', 50, 740, sfHelvetica, 12);
    oPDF.SaveToFile(AFileName);
  finally
    oPDF.Free;
  end;
end;
procedure StampExistingPDF(const AInput, AOutput: string);
var
  oEditor: TsgcPDFEditor;
  oWatermark: TsgcPDFWatermarkOptions;
begin
  oEditor := TsgcPDFEditor.Create;
  try
    oEditor.LoadFromFile(AInput);
    oWatermark.Text := 'CONFIDENTIAL';
    oWatermark.Font := sfHelveticaBold;
    oWatermark.FontSize := 48;
    oWatermark.Rotation := 45;
    oWatermark.Opacity := 0.3;
    oWatermark.R := 0.5;
    oWatermark.G := 0.5;
    oWatermark.B := 0.5;
    oEditor.AddWatermarkAllPages(oWatermark);
    oEditor.AddPageNumbers(sfHelvetica, 10, 'Page %d of %d');
    oEditor.SaveToFile(AOutput);
  finally
    oEditor.Free;
  end;
end;
procedure PrintAllText(const AFileName: string);
var
  oPDF: TsgcPDFDocument;
  i: Integer;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(AFileName);
    for i := 0 to oPDF.PageCount - 1 do
      WriteLn(string(oPDF.ExtractTextW(i)));
  finally
    oPDF.Free;
  end;
end;
procedure RenderPageToPNG(const APDFFile, APNGFile: string; ADPI: Integer);
var
  oPDF: TsgcPDFDocument;
  oRenderer: TsgcPDFRendererRaster;
  oPage: TsgcPDFPage;
begin
  oPDF := TsgcPDFDocument.Create;
  try
    oPDF.LoadFromFile(APDFFile);
    oPage := oPDF.Pages[0];
    // pure Pascal rasterizer: no GDI, runs on Windows and Linux servers
    oRenderer := TsgcPDFRendererRaster.Create;
    try
      oRenderer.RenderPageToPNG(oPDF.Parser, oPage.PageDict,
        Round(oPage.Width * ADPI / 72), Round(oPage.Height * ADPI / 72),
        APNGFile);
    finally
      oRenderer.Free;
    end;
  finally
    oPDF.Free;
  end;
end;

15 komponentów na palecie sgcPDF

Umieść je na formularzu lub module danych, albo utwórz je w kodzie. Każdy komponent można też użyć bez formularza, z aplikacji konsolowych i usług.

Wszystkie komponenty

Wersja próbna i licencje

sgcPDF to nowy produkt. Skontaktuj się z eSeGeCe, aby poprosić o wersję próbną lub wycenę. Jak w każdej bibliotece eSeGeCe, licencja obejmuje pełny kod źródłowy.

sgcPDF

  • Wszystkie 15 komponentów i jednostki sgcPDF_*.pas
  • Delphi 7-13 i C++ Builder
  • Windows, Linux, macOS, iOS i Android
  • Pełny kod źródłowy

Inne produkty eSeGeCe

Łącz sgcPDF z naszymi innymi bibliotekami komponentów dla Delphi i C++ Builder.

sgcSign

Cyfrowe podpisy klasy enterprise. XAdES, PAdES, CAdES i ASiC z 10 dostawcami kluczy i 21 profilami krajów UE.

Dowiedz się więcej →

sgcWebSockets

Komponenty WebSocket, HTTP/2, MQTT, AMQP i WebRTC klasy enterprise dla Delphi, C++ Builder i .NET.

Dowiedz się więcej →

sgcHTML

Komponenty HTML i UI po stronie serwera dla Delphi i C++ Builder, oparte na Bootstrap i htmx.

Dowiedz się więcej →

sgcCrypto

Nowoczesna kryptografia w czystym Object Pascalu: AES-GCM, SHA-3, Ed25519, X.509 oraz post-kwantowe ML-KEM i ML-DSA.

Dowiedz się więcej →
3,000+Programistów
20+Lat
761+Komponentów
30+Integracji API
5Platform
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

PDF bez DLL

Twórz, wyświetlaj, podpisuj i archiwizuj pliki PDF za pomocą posiadanego już kodu Delphi lub C++ Builder.