|
// This code example demonstrates how to add multiple annotations to the PDF. |
|
// Initialize AnnotationAPI instance |
|
$apiInstance = new GroupDocs\Annotation\AnnotateApi($configuration); |
|
|
|
// Add distance annotation |
|
$a = new GroupDocs\Annotation\Model\AnnotationInfo(); |
|
$pt = new GroupDocs\Annotation\Model\Point(); |
|
$pt->setX(1); |
|
$pt->setY(1); |
|
$a->setAnnotationPosition($pt); |
|
$box = new GroupDocs\Annotation\Model\Rectangle(); |
|
$box->setX(100); |
|
$box->setY(100); |
|
$box->setWidth(200); |
|
$box->setHeight(100); |
|
$a->setBox($box); |
|
$a->setPageNumber(0); |
|
$a->setPenColor(1201033); |
|
$a->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID); |
|
$a->setPenWidth(1); |
|
$a->setOpacity(0.7); |
|
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_DISTANCE); |
|
$a->setText("This is distance annotation"); |
|
$a->setCreatorName("Anonym A."); |
|
|
|
// Add area annotation |
|
$a1 = new GroupDocs\Annotation\Model\AnnotationInfo(); |
|
$pt1 = new GroupDocs\Annotation\Model\Point(); |
|
$pt1->setX(1); |
|
$pt1->setY(1); |
|
$a1->setAnnotationPosition($pt1); |
|
$box1 = new GroupDocs\Annotation\Model\Rectangle(); |
|
$box1->setX(80); |
|
$box1->setY(400); |
|
$box1->setWidth(200); |
|
$box1->setHeight(100); |
|
$a1->setBox($box1); |
|
$a1->setPageNumber(0); |
|
$a1->setPenColor(1201033); |
|
$a1->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID); |
|
$a1->setPenWidth(1); |
|
$a1->setOpacity(0.7); |
|
$a1->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_AREA); |
|
$a1->setText("This is area annotation"); |
|
$a1->setCreatorName("Anonym A."); |
|
|
|
// Add point annotation |
|
$a2 = new GroupDocs\Annotation\Model\AnnotationInfo(); |
|
$pt2 = new GroupDocs\Annotation\Model\Point(); |
|
$pt2->setX(100); |
|
$pt2->setY(100); |
|
$a2->setAnnotationPosition($pt2); |
|
$box2 = new GroupDocs\Annotation\Model\Rectangle(); |
|
$box2->setX(450); |
|
$box2->setY(150); |
|
$box2->setWidth(100); |
|
$box2->setHeight(30); |
|
$a2->setBox($box2); |
|
$a2->setPageNumber(0); |
|
$a2->setOpacity(0.7); |
|
$a2->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_POINT); |
|
$a2->setText("This is point annotation"); |
|
$a2->setCreatorName("Anonym A."); |
|
|
|
// Add arrow annotation |
|
$a3 = new GroupDocs\Annotation\Model\AnnotationInfo(); |
|
$pt3 = new GroupDocs\Annotation\Model\Point(); |
|
$pt3->setX(1); |
|
$pt3->setY(1); |
|
$a3->setAnnotationPosition($pt3); |
|
$box3 = new GroupDocs\Annotation\Model\Rectangle(); |
|
$box3->setX(350); |
|
$box3->setY(350); |
|
$box3->setWidth(200); |
|
$box3->setHeight(100); |
|
$a3->setBox($box3); |
|
$a3->setPageNumber(0); |
|
$a3->setPenColor(1201033); |
|
$a3->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID); |
|
$a3->setPenWidth(1); |
|
$a3->setOpacity(0.7); |
|
$a3->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_ARROW); |
|
$a3->setText("This is arrow annotation"); |
|
$a3->setCreatorName("Anonym A."); |
|
|
|
// Input file path |
|
$fileInfo = new GroupDocs\Annotation\Model\FileInfo(); |
|
$fileInfo->setFilePath("sample.pdf"); |
|
|
|
// Define annotate options |
|
$options = new GroupDocs\Annotation\Model\AnnotateOptions(); |
|
$options->setFileInfo($fileInfo); |
|
$options->setAnnotations([$a, $a1, $a2, $a3]); |
|
$options->setOutputPath("MultipleAnnotation.pdf"); |
|
|
|
// Create annotate request |
|
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options); |
|
|
|
// Annotate |
|
$result = $apiInstance->annotate($request); |
|
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref(); |