AddBitmapFile
Declaration
Delphi
function AddBitmapFile(const FileName: WideString; Left: Double; Top: Double; Width: Double; Height: Double; PageNumber: Integer): Integer; stdcall;
ActiveX
HRESULT _stdcall AddBitmapFile([in] BSTR FileName, [in] double Left, [in] double Top, [in] double Width, [in] double Height, [in] long PageNumber, [out, retval] long * RetVal );
Description
Use this function to insert a Bitmap into the PDF document. The Left,Top,Width,Height are the PDF coordinates of the insertion.
Important: Be sure to call LoadDoc before calling this function! |
Arguments
| The filename of the Image, use file type Bitmap |
| Position from the left side in PDF coordinates |
Top | Position from the top side in PDF coordinates |
Width | Size Width of Viewing area from the Image |
Height | Size Height of the Viewing Area from Image |
PageNumber | Pagenumber in the PDF document from 1..n |
Return value
value | name | description |
---|---|---|
0 | abError_BLSLIBÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â | Insertion error from Library |
1 | abOk | Insertion sucessfull |
2 | abError_LoadException | Exception while Loading File, wrong file format |
3 | abError_BitmapError | Bitmap from File is undefined or size of bitmap is 0/0 |
4 | abError_HBITMAPInvalid | The delivered HBITMAP is 0 or INVALID_HANDLE_VALUE |
5 | abError_BLSException | Exception while inserting bitmap |
6 | abError_NoDocLoaded | No document loaded, use LoadDoc |
7 | abError_DocIsSigned | The document is already signed. |
8 | abError_BMPSizeTooBig | The Bitmap is too big for the pdf document |
Calculation of the PDF coordinates
The top/left has the value 0/0 and for the calculation you can use the following formula:
A4= 8.27 x 11.69 inch with 72points/inch = 595x842 points
1 point = 0.03527777778 centimeters
1 point = 0.01388888889 inch
Example: 5cm are 142 points (5cm / 0.03527777778 = 141,7323)
Samples
// Load your PDF SignAPIv4.LoadDoc(@"c:\Temp\Mustermann.pdf"); // Select the Image and add it to the PDF OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { FileName = ofd.FileName; int AddBitmapFileStatus = SignAPIv4.AddBitmapFile(FileName, 100, 100, 250, 200, 1); }
procedure TForm1.ButtonAddBMPFileClick(Sender: TObject); var RetCode : Integer; msg : String; begin OpenDialog1.Filter := 'Bitmap|*.bmp|All|*.*'; if (not OpenDialog1.Execute()) then exit; RetCode := SignApi.AddBitmapFile(OpenDialog1.FileName, strtofloat(EditAddBMPLeft.Text), strtofloat(EditAddBMPTop.Text), strtofloat(EditAddBMPWidth.Text), strtofloat(EditAddBMPHeight.Text), strtoint(EditAddBMPPageNumber.Text)); case RetCode of 0 : // abError_BLSLIB msg := 'Error from Library'; 1 : // abOk msg := 'Image inserted successfully'; 2 : // abError_LoadException msg := 'Exception when loading image'; 3 : // abError_BitmapError msg := 'Bitmap is NIL or Size=0/0'; 4 : // abError_HBITMAPInvalid msg := 'Bitmap handle is invalid'; 5 : // abError_BLSException msg := 'Exception in library'; 6 : // abError_NoDocLoaded msg := 'No document loaded'; 7 : // abError_DocIsSigned msg := 'Document is already signed - no image insertion possible'; 8 : // abError_BMPSizeTooBig msg := 'Image size too big'; else msg := 'unknown error = ' + inttostr(RetCode); end; MessageBox(Handle, PChar(msg), 'AddBitmapFile', MB_OK or MB_ICONINFORMATION); end;
Dim addPicStatus As Integer addPicStatus = SignatureAPIv4.AddBitmapFile("TestImage.png", 100, 100, 250, 250, 1) Select Case addPicStatus Case 0 MessageBox.Show("Insertion error from Library") Case 1 MessageBox.Show("Insertion sucessfull") Case 2 MessageBox.Show("Exception while Loading File, wrong file format") Case 3 MessageBox.Show("Bitmap from File is undefined or size of bitmap is 0/0") Case 4 MessageBox.Show("The delivered HBITMAP is 0 or INVALID_HANDLE_VALUE") Case 5 MessageBox.Show("Exception while inserting bitmap") Case 6 MessageBox.Show("No document loaded, use LoadDoc") Case 7 MessageBox.Show("The document is already signed.") Case 8 MessageBox.Show("The Bitmap is too big for the pdf document.") End Select