PHP'de REST API kullanarak PDF Belgelerine Açıklama Ekleyin

Ek açıklamalar, belgenin belirli herhangi bir bölümü hakkında ek bilgi sağlar. Ek açıklamaları kullanarak belgeleri geri bildirim ve incelemelerle işaretleyebiliriz. PDF belgelerine açıklamalar olarak resimler, yorumlar, notlar veya diğer türde harici açıklamalar ekleyebiliriz. Bu yazıda, PHP’de bir REST API kullanarak PDF belgelerine açıklama eklemeyi öğreneceğiz.

Bu yazıda aşağıdaki konular ele alınacaktır:

PDF Açıklama REST API ve PHP SDK

PDF belgelerine açıklama eklemek için GroupDocs.Annotation Cloud’un PHP SDK API’sini kullanacağız. Desteklenen belge biçimlerine ek açıklamalar, filigran kaplamaları, metin değiştirmeleri, düzeltmeler ve metin işaretlemeleri eklenmesine izin verir. Lütfen konsolda aşağıdaki komutu kullanarak kurun:

composer require groupdocscloud/groupdocs-annotation-cloud

Kurulumdan sonra, SDK’yı aşağıda gösterildiği gibi kullanmak için lütfen Bestecilerin autoload aracını kullanın:

require_once('vendor/autoload.php');

Belirtilen adımları izlemeden önce lütfen panodan Müşteri Kimliğinizi ve Sırrınızı alın. Kimliğinizi ve sırrınızı aldıktan sonra, kodu aşağıda gösterildiği gibi ekleyin:

// Bu kod örneği, koda müşteri kimliği ve sırrının nasıl ekleneceğini gösterir.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Yapılandırma başlatılıyor
$configuration = new GroupDocs\Annotation\Configuration();

// Konfigürasyonların ayarlanması
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

PHP’de REST API kullanarak PDF Belgelerine Açıklama Ekleyin

Aşağıda verilen basit adımları izleyerek PDF belgelerine bulutta açıklama ekleyebiliriz:

  1. PDF dosyasını buluta Yükle
  2. PDF Belgesine Açıklama Ekleyin
  3. Açıklamalı dosyayı İndir

Belgeyi Yükle

İlk olarak, aşağıdaki kod örneğini kullanarak PDF dosyasını buluta yükleyeceğiz:

// Bu kod örneği, bir PDF dosyasının buluta nasıl yükleneceğini gösterir.
// API örneğini başlat
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

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

// Dosya yükleme isteği oluştur
$request = new GroupDocs\Annotation\Model\Requests\UploadFileRequest("sample.pdf", $file, self::$MyStorage, null);

// Dosya yükleme
$response = $apiInstance->uploadFile($request);

Sonuç olarak, yüklenen PDF dosyası bulut üzerindeki kontrol panelinin dosyalar bölümünde mevcut olacaktır.

PHP kullanarak PDF Belgesine Açıklama Ekleyin

Şimdi, aşağıda verilen adımları izleyerek yüklenen PDF belgesine programlı olarak birden fazla ek açıklama ekleyeceğiz:

  • İlk olarak, AnnotateApi’nin bir örneğini oluşturun.
  • Ardından, konum, tür, metin vb. gibi ek açıklama özelliklerini ayarlayın.
  • Ardından, birden çok ek açıklama eklemek için yukarıdaki adımı tekrarlayın.
  • Ardından, giriş dosyası yolunu sağlayın.
  • Ardından, AnnotateOptions nesnesini başlatın ve çıktı dosyası yolunu ayarlayın.
  • Bundan sonra, bağımsız değişken olarak AnnotateOptions ile AnnotateRequest oluşturun.
  • Son olarak, AnnotateApi.annotate() yöntemini kullanarak PDF’ye açıklama ekleyin.

Aşağıdaki kod örneği, PHP’de bir REST API kullanarak bir PDF belgesine birden çok ek açıklamanın nasıl ekleneceğini gösterir.

// Bu kod örneği, PDF'ye birden çok ek açıklamanın nasıl ekleneceğini gösterir.
// AnnotationAPI örneğini başlat
$apiInstance = new GroupDocs\Annotation\Açıklama ekleApi($configuration);

// Mesafe notu ekle
$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.");  

// Alan açıklaması ekle
$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.");   

// Nokta açıklaması ekle
$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.");  

// Ok açıklaması ekle
$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.");  

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Açıklama seçeneklerini tanımlayın
$options = new GroupDocs\Annotation\Model\Açıklama ekleOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a, $a1, $a2, $a3]);
$options->setOutputPath("MultipleAnnotation.pdf");

// Açıklama isteği oluştur
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Açıklama ekle
$result = $apiInstance->annotate($request);
echo "AddMultipleAnnotations: Multiple Annotations added: " . $result->getHref();
PHP kullanarak PDF Belgesine Açıklama Ekleyin

PHP kullanarak PDF Belgesine açıklama ekleyin.

Belgelerdeki ek açıklama ekleme bölümünde desteklenen açıklama türleri hakkında daha fazla bilgi edinebilirsiniz.

Açıklamalı Dosyayı İndirin

Yukarıdaki kod örneği, açıklamalı PDF dosyasını buluta kaydedecektir. Aşağıdaki kod örneği kullanılarak indirilebilir:

// Bu kod örneği, bir PDF dosyasının buluttan nasıl indirileceğini gösterir.
// API örneğini başlatma
$apiInstance = new GroupDocs\Annotation\FileApi($configuration);

// İndirme dosyası isteği oluştur
$request = new GroupDocs\Annotation\Model\Requests\DownloadFileRequest("MultipleAnnotation.pdf", self::$MyStorage, null);

// Dosyayı indir
$response = $apiInstance->downloadFile($request);

Ayrıca, aşağıda verilen adımları izleyerek PDF belgesine köprü notu ekleyebiliriz:

  • İlk olarak, AnnotateApi’nin bir örneğini oluşturun.
  • Ardından, konum, metin vb. gibi ek açıklama özelliklerini ayarlayın.
  • Ardından, ek açıklama türünü Bağlantı olarak ayarlayın.
  • Ardından, giriş dosyası yolunu sağlayın.
  • Ardından, AnnotateOptions nesnesini başlatın ve çıktı dosyası yolunu ayarlayın.
  • Bundan sonra, bağımsız değişken olarak AnnotateOptions ile AnnotateRequest oluşturun.
  • Son olarak, AnnotateApi.annotate() yöntemini kullanarak PDF’ye açıklama ekleyin.

Aşağıdaki kod örneği, bir REST API kullanarak PDF belgesine köprü ek açıklamasının nasıl ekleneceğini gösterir. Dosya yüklemek ve indirmek için lütfen daha önce belirtilen adımları izleyin.

// Bu kod örneği, PDF'ye bağlantı notunun nasıl ekleneceğini gösterir
// AnnotationAPI örneğini başlat
$apiInstance = new GroupDocs\Annotation\Açıklama ekleApi($configuration);

// Bağlantı açıklaması ekle
$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.");   

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Açıklama seçeneklerini tanımlayın
$options = new GroupDocs\Annotation\Model\Açıklama ekleOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddLinkAnnotation.pdf");

// Açıklama isteği oluştur
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Açıklama ekle
$result = $apiInstance->annotate($request);
echo "AddLinkAnnotation: Link Annotation added: " . $result->getHref();
PHP kullanarak Bağlantı Ek Açıklamaları ile açıklama ekleyin.

PHP kullanarak Bağlantı Ek Açıklamaları ile açıklama ekleyin.

PHP kullanarak Resim Açıklama Ekleme

Daha önce belirtilen adımları izleyerek PDF belgesine resim notu ekleyebiliriz. Ancak, ek açıklama türünü aşağıda gösterildiği gibi resim olarak ayarlamamız yeterlidir:

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

Aşağıdaki kod örneği, PHP’de bir REST API kullanarak PDF belgesine görüntü notunun nasıl ekleneceğini gösterir. Dosya yüklemek ve indirmek için lütfen daha önce belirtilen adımları izleyin.

// Bu kod örneği, PDF'ye görüntü notunun nasıl ekleneceğini gösterir
// AnnotationAPI örneğini başlat
$apiInstance = new GroupDocs\Annotation\Açıklama ekleApi($configuration);

// Resim notu ekle
$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.");   

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Açıklama seçeneklerini tanımlayın
$options = new GroupDocs\Annotation\Model\Açıklama ekleOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddImageAnnotation.pdf");

// Açıklama isteği oluştur
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Açıklama ekle
$result = $apiInstance->annotate($request);
echo "AddImageAnnotation: Image Annotation added: " . $result->getHref();
PHP kullanarak Görüntü Ek Açıklama ekleyin.

PHP kullanarak Görüntü Ek Açıklama ekleyin.

PHP kullanarak Metin Alanı Açıklama Ekleme

Daha önce belirtilen adımları izleyerek PDF belgesine metin alanı notu da ekleyebiliriz. Ancak, ek açıklama türünü aşağıda gösterildiği gibi metin alanına ayarlamamız yeterlidir:

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

Aşağıdaki kod örneği, bir REST API kullanarak PDF belgesine metin alanı notunun nasıl ekleneceğini gösterir. Dosya yüklemek ve indirmek için lütfen daha önce belirtilen adımları izleyin.

// Bu kod örneği, PDF'ye metin alanı notunun nasıl ekleneceğini gösterir
// AnnotationAPI örneğini başlat
$apiInstance = new GroupDocs\Annotation\Açıklama ekleApi($configuration);

// TextField açıklaması ekle
$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.");   

// Giriş dosyası yolu
$fileInfo = new GroupDocs\Annotation\Model\FileInfo();
$fileInfo->setFilePath("sample.pdf");

// Açıklama seçeneklerini tanımlayın
$options = new GroupDocs\Annotation\Model\Açıklama ekleOptions();
$options->setFileInfo($fileInfo);
$options->setAnnotations([$a]);
$options->setOutputPath("AddTextFieldAnnotation.pdf");

// Açıklama isteği oluştur
$request = new GroupDocs\Annotation\Model\Requests\annotateRequest($options);

// Açıklama ekle
$result = $apiInstance->annotate($request);
echo "AddTextFieldAnnotation: Text Field Annotation added: " . $result->getHref();
PHP kullanarak Metin Alanı Ek Açıklaması ekleyin.

PHP kullanarak Metin Alanı Ek Açıklaması ekleyin.

Çevrimiçi Deneyin

Lütfen yukarıdaki API kullanılarak geliştirilen aşağıdaki ücretsiz çevrimiçi PDF ek açıklama aracını deneyin. https://products.groupdocs.app/annotation/pdf

Çözüm

Bu makalede, şunların nasıl yapılacağını öğrendik:

  • PHP kullanarak bir PDF’ye birden çok ek açıklama ekleyin;
  • PHP’de bağlantı, resim ve metin alanı açıklamalarıyla PDF’ye açıklama ekleyin;
  • PDF dosyasını programlı olarak buluta yükleyin;
  • açıklamalı PDF dosyasını buluttan indirin.

Ayrıca, belgeleri kullanarak GroupDocs.Annotation Cloud API hakkında daha fazla bilgi edinebilirsiniz. Ayrıca, API’lerimizi doğrudan tarayıcı aracılığıyla görselleştirmenize ve bunlarla etkileşimde bulunmanıza olanak tanıyan bir API Referansı bölümü de sağlıyoruz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız