Stamp Annotations
Stamp annotations add seal-like marks on PDF pages. You can use PDF standard stamps or custom bitmaps and images.
Standard Stamps
PDF defines standard stamp icons via setIconName():
| Icon Name | Description |
|---|---|
"Approved" | Approved |
"AsIs" | As is |
"Confidential" | Confidential |
"Departmental" | Departmental |
"Draft" | Draft |
"Experimental" | Experimental |
"Expired" | Expired |
"Final" | Final |
"ForComment" | For comment |
"ForPublicRelease" | For public release |
"NotApproved" | Not approved |
"NotForPublicRelease" | Not for public release |
"Sold" | Sold |
"TopSecret" | Top secret |
Example: Standard Stamp
java
import com.foxit.sdk.common.fxcrt.RectF;
import com.foxit.sdk.pdf.PDFPage;
import com.foxit.sdk.pdf.annots.Annot;
import com.foxit.sdk.pdf.annots.Stamp;
PDFPage page = doc.getPage(0);
RectF rect = new RectF(100, 600, 280, 660);
Stamp stamp = new Stamp(page.addAnnot(Annot.e_Stamp, rect));
stamp.setIconName("Approved");
stamp.setBorderColor(0xff009900);
stamp.setContent("已批准");
stamp.resetAppearanceStream();Custom Bitmap Stamp
Use setBitmap() with any android.graphics.Bitmap:
java
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import com.foxit.sdk.common.fxcrt.RectF;
import com.foxit.sdk.pdf.PDFPage;
import com.foxit.sdk.pdf.annots.Annot;
import com.foxit.sdk.pdf.annots.Stamp;
PDFPage page = doc.getPage(0);
RectF rect = new RectF(100, 400, 300, 500);
Stamp stamp = new Stamp(page.addAnnot(Annot.e_Stamp, rect));
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/my_stamp.png");
stamp.setBitmap(bitmap);
stamp.resetAppearanceStream();Stamp via Image Object
setImage() uses the SDK Image object with frame index and compression:
java
import com.foxit.sdk.common.Image;
import com.foxit.sdk.common.fxcrt.RectF;
import com.foxit.sdk.pdf.PDFPage;
import com.foxit.sdk.pdf.annots.Annot;
import com.foxit.sdk.pdf.annots.Stamp;
PDFPage page = doc.getPage(0);
RectF rect = new RectF(100, 400, 300, 500);
Stamp stamp = new Stamp(page.addAnnot(Annot.e_Stamp, rect));
Image image = new Image("/sdcard/stamp_image.jpg");
stamp.setImage(image, 0, 0);
stamp.resetAppearanceStream();Stamp Rotation
java
int rotation = stamp.getRotation();
stamp.setRotation(45);
stamp.rotate(90);
stamp.resetAppearanceStream();Core Methods
| Method | Description |
|---|---|
getIconName() / setIconName(String) | Standard stamp icon name |
setBitmap(Bitmap) | Custom stamp from Bitmap |
setImage(Image, int, int) | Stamp from Image (frame and compression) |
getRotation() / setRotation(int) | Rotation angle |
rotate(int) | Incremental rotation |