PDF mit Delphi
PDF-Erzeugung mit Delphi
Auch für Delphi-Entwickler stellen wir eine Beispielanwendung bereit, die zeigt wie das COM Interface unseres PDF Makers in eigene Delphi-Anwendungen eingebunden, und zur PDF-Erzeugung verwendet werden kann. Ergänzen sie ihre Delhi Entwicklung mit unserer PDF API!
Wenn der Code ausgeführt wird, so wird die PDF-Engine unseres PDF Makers zur PDF-Erzeugung verwendet. Die PDF Erzeugung berücksichtigt die PDF-Einstellungen, die zuvor über die entsprechenden PDF Setting Funktionen der COM Komponente festgelegt wurden.
Nachdem die PDF Umwandlung über die Funktion convertToPDF
angestoßen wurde, wartet der Code auf den Returncode der PDF-Engine. Das stellt sicher, dass der Entwickler genau weiss, wann und ob die PDF Erzeugung erfolgreich abgeschlossen wurde.
Das nachfolgende Codebeispiel steht unten am Ende der Seite zum Download zur Verfügung.
Quelltextauszug des Sourcecodebeispiels (Delphi)
- unit main;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ComObj, SevenPDFComObj_TLB;
- type
- TForm1 = class(TForm)
- txtReturncode: TEdit;
- Label1: TLabel;
- Label4: TLabel;
- txtFile: TEdit;
- btnCallConvert: TButton;
- btnSelect: TButton;
- Label2: TLabel;
- Label3: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- Label8: TLabel;
- Label9: TLabel;
- Label10: TLabel;
- Label11: TLabel;
- Label12: TLabel;
- Label13: TLabel;
- Label7: TLabel;
- txtPDF: TEdit;
- btnSelectPDF: TButton;
- Label14: TLabel;
- Label15: TLabel;
- OpenDialog1: TOpenDialog;
- SaveDialog1: TSaveDialog;
- procedure btnCallConvertClick(Sender: TObject);
- procedure btnSelectClick(Sender: TObject);
- procedure btnSelectPDFClick(Sender: TObject);
- private
- { Private-Deklarationen }
- public
- { Public-Deklarationen }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- procedure TForm1.btnCallConvertClick(Sender: TObject);
- var
- SevenPDFComObj : TSevenPDFObjConverter;
- InFile, OutFile : WideString;
- begin
- InFile := txtFile.Text;
- OutFile := txtPDF.Text;
- SevenPDFComObj := TSevenPDFObjConverter.Create(nil);
- try //finally
- try //exception
- //******* INITIALIZATION *********
- SevenPDFComObj.Init;
- //SevenPDFComObj.UnlockKey('INSERT LICENSEKEY!');
- //********************************
- //****** Customize some PDF Settings *******
- //Notice: PDF encryption works only in registered version
- //******************************************
- SevenPDFComObj.setExportNotes(0);
- SevenPDFComObj.setExportNotesPages(0);
- SevenPDFComObj.setExportBookmarks(0);
- //Set PDF Security Options
- {
- SevenPDFComObj.setEncryptFile(1);
- SevenPDFComObj.setPermissionPassword('test123');
- SevenPDFComObj.setRestrictPermissions(1);
- SevenPDFComObj.setChanges(0);
- SevenPDFComObj.setPrinting(1);
- SevenPDFComObj.setEnableCopyingOfContent(0);
- SevenPDFComObj.setEnableTextAccessForAccessibilityTools(0);
- }
- //Make the Conversion
- txtReturncode.Text := IntToStr(SevenPDFComObj.convertToPdf(PWideChar(InFile), PWideChar(OutFile), 0));
- except
- on E:Exception do // Exception abfangen, falls der User nicht die Rechte hat einen Task zu killen!
- begin
- ShowMessage('An exception occurs: ' + E.Message);
- end;
- end;
- finally
- if Assigned(SevenPDFComObj) then begin
- SevenPDFComObj.Free;
- end;
- end;
- end;
- procedure TForm1.btnSelectClick(Sender: TObject);
- begin
- if OpenDialog1.Execute then begin
- txtFile.Text := OpenDialog1.FileName;
- txtReturncode.Text := '';
- end;
- end;
- procedure TForm1.btnSelectPDFClick(Sender: TObject);
- begin
- if SaveDialog1.Execute then begin
- txtPDF.Text := ChangeFileExt(SaveDialog1.FileName, '.pdf');
- end;
- end;
- end.
Downloads
Anhang | Größe |
---|---|
Codebeispiel herunterladen | 3.82 KB |