1) No, you cannot delete a watermark at present.
2) The latest edition has a possibility to create a non-visual pdfworkbech object which supports most commands.
This are the functions the DLL exports:
function pdfWorkbenchCreate( licname, lickey: PWideChar; liccode: Cardinal ) : Pointer; stdcall;
function pdfWorkbenchFree( workbench : Pointer ) : Integer; stdcall;
function pdfWorkbenchLoad( workbench : Pointer; Filename : PWideChar; Append, InMemory : Integer ) : Integer; stdcall;
function pdfWorkbenchCommand( workbench : Pointer; commandid : Integer; intpar : Integer; strpar : PWideChar; ptr : Pointer ) : Integer; stdcall;
This is how I tested it
procedure TForm1.TestnonvisualPDFworkbench1Click(Sender: TObject);
var workbench : Pointer;
s : String;
function CommandGetString(
id : Integer;
strparam : String = '';
intparam : Integer = 0 ) : String;
var
i: Integer;
begin
i := wpview_pdfWorkbenchCommand(workbench,id, intparam, PWideChar(strparam), nil);
if i > 0 then
begin
SetLength(Result, i);
wpview_pdfWorkbenchCommand(workbench, COMPDF_GetTextBufW, 0, nil, (@Result[1]) );
end
else
Result := '';
end;
begin
if OpenDialog1.Execute then
begin
if not assigned(wpview_pdfWorkbenchCreate) then
raise Exception.Create('wpview_pdfWorkbenchCreate is not available');
workbench := wpview_pdfWorkbenchCreate(PWideChar(LicName), PWideChar(LicKey), LicCode );
if not assigned(workbench) then
raise Exception.Create('wpview_pdfWorkbenchCreate failed');
try
s := OpenDialog1.FileName;
if wpview_pdfWorkbenchLoad( workbench, PWideChar(s), 0 , 0 )<0 then
raise Exception.Create('wpview_pdfWorkbenchLoad failed');
ShowMessage(
Format('This PDF File has %d pages. DLL-Version = %s', [
wpview_pdfWorkbenchCommand( workbench, COMPDF_GetPageCount, 0, nil, nil ),
CommandGetString(COMPDF_GET_DLLVERSION)
] )
);
finally
wpview_pdfWorkbenchFree( workbench );
end;
end;
end;
Alles anzeigen
The function pointers wpview_pdfWorkbenchLoad are initialized as usual in wpviewpdf3.pas.
Regards,
Julian