Anotasi Dokumen PDF menggunakan REST API di PHP

Anotasi memberikan informasi tambahan tentang bagian tertentu dari dokumen. Kami dapat menandai dokumen dengan umpan balik dan ulasan menggunakan anotasi. Kami dapat menambahkan gambar, komentar, catatan, atau jenis komentar eksternal lainnya ke dokumen PDF sebagai anotasi. Pada artikel ini, kita akan mempelajari cara membuat anotasi dokumen PDF menggunakan REST API di PHP.

Topik-topik berikut akan dibahas dalam artikel ini:

API REST Anotasi PDF dan PHP SDK

Untuk menganotasi dokumen PDF, kami akan menggunakan PHP SDK of GroupDocs.Annotation Cloud API. Ini memungkinkan penambahan anotasi, overlay tanda air, penggantian teks, redaksi, dan markup teks ke format dokumen yang didukung. Silakan instal menggunakan perintah berikut di konsol:

composer require groupdocscloud/groupdocs-annotation-cloud

Setelah instalasi, silakan gunakan autoload Komposer untuk menggunakan SDK seperti yang ditunjukkan di bawah ini:

require_once('vendor/autoload.php');

Harap dapatkan ID dan Rahasia Klien Anda dari dasbor sebelum mengikuti langkah-langkah yang disebutkan. Setelah Anda memiliki ID dan rahasia Anda, tambahkan kode seperti yang ditunjukkan di bawah ini:

// Contoh kode ini menunjukkan cara menambahkan id klien dan rahasia dalam kode.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// Menginisialisasi konfigurasi
$configuration = new GroupDocs\Annotation\Configuration();

// Mengatur konfigurasi
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Anotasi Dokumen PDF menggunakan REST API di PHP

Kami dapat membuat anotasi dokumen PDF di cloud dengan mengikuti langkah-langkah sederhana yang diberikan di bawah ini:

  1. Unggah file PDF ke cloud
  2. Anotasi Dokumen PDF
  3. Unduh file beranotasi

Unggah Dokumen

Pertama, kami akan mengunggah file PDF ke cloud menggunakan contoh kode berikut:

// Contoh kode ini menunjukkan cara mengunggah file PDF ke cloud.
// Inisialisasi instance API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Jalur file
$file = "C:\\Files\\Annotation\\sample.pdf";

// Buat permintaan unggah file
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Unggah data
$response = $apiInstance->uploadFile($request);

Hasilnya, file PDF yang diunggah akan tersedia di files section dasbor di cloud.

Anotasi Dokumen PDF menggunakan PHP

Sekarang, kami akan menambahkan beberapa anotasi ke dokumen PDF yang diunggah secara terprogram dengan mengikuti langkah-langkah di bawah ini:

  • Pertama, buat instance dari AnnotateApi.
  • Selanjutnya, atur properti anotasi misalnya, posisi, jenis, teks, dll.
  • Kemudian, ulangi langkah di atas untuk menambahkan beberapa anotasi.
  • Selanjutnya, berikan jalur file input.
  • Kemudian, inisialisasi objek AnnotateOptions dan setel jalur file keluaran.
  • Setelah itu, buat AnnotateRequest dengan AnnotateOptions sebagai argumen.
  • Terakhir, beri anotasi pada PDF menggunakan metode AnnotateApi.annotate().

Contoh kode berikut menunjukkan cara menambahkan beberapa anotasi ke dokumen PDF menggunakan REST API di PHP.

// Contoh kode ini menunjukkan cara menambahkan banyak anotasi ke PDF.
// Inisialisasi instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\Membubuhi keteranganApi($configuration);

// Tambahkan anotasi jarak
$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.");  

// Tambahkan anotasi area
$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.");   

// Tambahkan anotasi titik
$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.");  

// Tambahkan anotasi panah
$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.");  

// Jalur file masukan
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Tentukan opsi anotasi
$options = new GroupDocs\Annotation\Model\Membubuhi keteranganOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// Buat permintaan anotasi
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Membubuhi keterangan
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
Anotasi Dokumen PDF menggunakan PHP

Anotasi Dokumen PDF menggunakan PHP.

Anda dapat membaca lebih lanjut tentang jenis anotasi yang didukung di bagian menambahkan anotasi dalam dokumentasi.

Unduh File Beranotasi

Contoh kode di atas akan menyimpan file PDF beranotasi di cloud. Itu dapat diunduh menggunakan contoh kode berikut:

// Contoh kode ini menunjukkan cara mengunduh file PDF dari cloud.
// Menginisialisasi instance API
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// Buat permintaan file unduhan
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// Unduh berkas
$response = $apiInstance->downloadFile($request);

Kami juga dapat menambahkan anotasi hyperlink dalam dokumen PDF dengan mengikuti langkah-langkah berikut:

  • Pertama, buat instance dari AnnotateApi.
  • Selanjutnya, atur properti anotasi misalnya, posisi, teks, dll.
  • Kemudian, setel jenis anotasi sebagai Tautan.
  • Selanjutnya, berikan jalur file input.
  • Kemudian, inisialisasi objek AnnotateOptions dan setel jalur file keluaran.
  • Setelah itu, buat AnnotateRequest dengan AnnotateOptions sebagai argumen.
  • Terakhir, beri anotasi pada PDF menggunakan metode AnnotateApi.annotate().

Contoh kode berikut menunjukkan cara menambahkan anotasi hyperlink di dokumen PDF menggunakan REST API. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah dan mengunduh file.

// Contoh kode ini menunjukkan cara menambahkan anotasi tautan ke PDF
// Inisialisasi instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\Membubuhi keteranganApi($configuration);

// Tambahkan anotasi tautan
$a = new GroupDocs\Annotation\Model\AnnotationInfo();
$pt1 = new GroupDocs\Annotation\Model\Point();
$pt1->setX(80);
$pt1->setY(710);
$pt2 = new GroupDocs\Annotation\Model\Point();
$pt2->setX(240);
$pt2->setY(710);		
$pt3 = new GroupDocs\Annotation\Model\Point();
$pt3->setX(80);
$pt3->setY(650);		
$pt4 = new GroupDocs\Annotation\Model\Point();
$pt4->setX(240);
$pt4->setY(650);		
$a->setPoints([$pt1, $pt2, $pt3, $pt4]);
$a->setUrl("https://www.groupdocs.com/");
$a->setPageNumber(0);
$a->setFontColor(1201033);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_LINK);
$a->setText("This is link annotation");
$a->setCreatorName("Anonym A.");   

// Jalur file masukan
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Tentukan opsi anotasi
$options = new GroupDocs\Annotation\Model\Membubuhi keteranganOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// Buat permintaan anotasi
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Membubuhi keterangan
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
Beri anotasi dengan Anotasi Tautan menggunakan PHP.

Beri anotasi dengan Anotasi Tautan menggunakan PHP.

Tambahkan Anotasi Gambar menggunakan PHP

Kita dapat menambahkan anotasi gambar pada dokumen PDF dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur jenis anotasi ke gambar seperti yang ditunjukkan di bawah ini:

$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_IMAGE);

Contoh kode berikut menunjukkan cara menambahkan anotasi gambar dalam dokumen PDF menggunakan REST API di PHP. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah dan mengunduh file.

// Contoh kode ini menunjukkan cara menambahkan anotasi gambar ke PDF
// Inisialisasi instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\Membubuhi keteranganApi($configuration);

// Tambahkan anotasi Gambar
$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(200);
$box->setY(0);
$box->setWidth(200);
$box->setHeight(100);
$a->setBox($box);
$a->setPageNumber(0);
$a->setImagePath("groupdocs.png");
$a->setPenStyle(GroupDocs\Annotation\Model\AnnotationInfo::PEN_STYLE_SOLID);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_IMAGE);
$a->setText("This is image annotation");
$a->setCreatorName("Anonym A.");   

// Jalur file masukan
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Tentukan opsi anotasi
$options = new GroupDocs\Annotation\Model\Membubuhi keteranganOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// Buat permintaan anotasi
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Membubuhi keterangan
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
Tambahkan Anotasi Gambar menggunakan PHP.

Tambahkan Anotasi Gambar menggunakan PHP.

Tambahkan Anotasi Bidang Teks menggunakan PHP

Kami juga dapat menambahkan anotasi bidang teks dalam dokumen PDF dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur jenis anotasi ke bidang teks seperti yang ditunjukkan di bawah ini:

$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_TEXT_FIELD);

Contoh kode berikut menunjukkan cara menambahkan anotasi bidang teks dalam dokumen PDF menggunakan REST API. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah dan mengunduh file.

// Contoh kode ini menunjukkan cara menambahkan anotasi bidang teks ke PDF
// Inisialisasi instance AnnotationAPI
$apiInstance = new GroupDocs\Annotation\Membubuhi keteranganApi($configuration);

// Tambahkan anotasi TextField
$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(380);
$box->setY(300);
$box->setWidth(100);
$box->setHeight(50);
$a->setBox($box);
$a->setPageNumber(0);
$a->setFontColor(1201033);
$a->setFontSize(12);
$a->setOpacity(0.7);
$a->setType(GroupDocs\Annotation\Model\AnnotationInfo::TYPE_TEXT_FIELD);
$a->setText("Text field text");
$a->setCreatorName("Anonym A.");   

// Jalur file masukan
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Tentukan opsi anotasi
$options = new GroupDocs\Annotation\Model\Membubuhi keteranganOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// Buat permintaan anotasi
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Membubuhi keterangan
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
Tambahkan Anotasi Bidang Teks menggunakan PHP.

Tambahkan Anotasi Bidang Teks menggunakan PHP.

Coba Daring

Silakan coba alat anotasi PDF online gratis berikut, yang dikembangkan menggunakan API di atas. https://products.groupdocs.app/annotation/pdf

Kesimpulan

Dalam artikel ini, kita telah mempelajari cara:

  • tambahkan banyak anotasi ke PDF menggunakan PHP;
  • anotasi PDF dengan anotasi tautan, gambar, dan bidang teks dalam PHP;
  • mengunggah file PDF ke cloud secara terprogram;
  • unduh file PDF beranotasi dari cloud.

Selain itu, Anda dapat mempelajari lebih lanjut tentang GroupDocs.Annotation Cloud API menggunakan dokumentasi. Kami juga menyediakan bagian Referensi API yang memungkinkan Anda memvisualisasikan dan berinteraksi dengan API kami secara langsung melalui browser. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum.

Lihat juga