পিডিএফ টীকা করুন

এই ব্লগটি আমাদের পূর্ববর্তী ব্লগের একটি ধারাবাহিকতা যেখানে আমরা Java REST API ব্যবহার করে কিভাবে [হাইলাইট বা স্ট্রাইকআউট টেক্সট, এবং পিডিএফ-এ লাইন বা সার্কেল টীকা যোগ করতে হয় সে সম্পর্কে জাভার জন্য Aspose.PDF ক্লাউড SDK-এর কিছু উত্তেজনাপূর্ণ বৈশিষ্ট্য তুলে ধরেছি1 . এই নিবন্ধে, আমরা বিশেষ করে জাভা প্রোগ্রামিং ভাষা ব্যবহার করে PDF নথিতে টেক্সট, পলিলাইন, স্কুইগ্লি, এবং অ্যাটাচমেন্ট টীকা যোগ করার বিষয়ে বিস্তারিত আলোচনা করতে যাচ্ছি।

Aspose.PDF ক্লাউড হল একটি REST API যা ব্যবহারকারীদের অন্যান্য [সমর্থিত ডকুমেন্ট ফরম্যাটে] বিদ্যমান পিডিএফ ফাইলগুলি তৈরি, ম্যানিপুলেট এবং রেন্ডার করতে সক্ষম করে। নিম্নলিখিত দুটি পদ্ধতি ব্যবহার করে ক্লাউড API অ্যাক্সেস করা যেতে পারে:

  • CURL কমান্ডের মাধ্যমে API অ্যাক্সেস করুন
  • জাভা প্রোগ্রামিং ভাষায় API অ্যাক্সেস করুন

CURL কমান্ড এবং জাভা কোড ব্যবহার করে PDF নথিতে বিভিন্ন টীকা যোগ করার বিষয়ে আরও আলোচনা করা যাক।

CURL কমান্ড ব্যবহার করে টীকা যোগ করুন

CURL কমান্ড হল REST API গুলি অ্যাক্সেস করার সবচেয়ে সহজ এবং দুর্দান্ত উপায়গুলির মধ্যে একটি৷ তো চলুন cURL কমান্ড ব্যবহার করে বিভিন্ন টীকা যোগ করার কথা বলি। অনুগ্রহ করে মনে রাখবেন যে প্রতিটি API আপনাকে ক্লাউড স্টোরেজ অ্যাক্সেস করতে সক্ষম করে যেখানে ফাইলগুলি প্রক্রিয়াকরণের জন্য সংরক্ষণ করা যেতে পারে, তাই ডেটা অখণ্ডতা নিশ্চিত করতে, আমাদের API শুধুমাত্র অনুমোদিত ব্যক্তিদের কাছে অ্যাক্সেসযোগ্য। অতএব, আপনাকে প্রথমে Aspose.Cloud ড্যাশবোর্ড পরিদর্শন করতে হবে এবং আপনার যদি একটি GitHub বা Google অ্যাকাউন্ট থাকে, কেবল সাইন আপ করুন। অন্যথায়, একটি নতুন অ্যাকাউন্ট তৈরি করুন বোতামে ক্লিক করুন এবং প্রয়োজনীয় তথ্য প্রদান করুন। এখন শংসাপত্র ব্যবহার করে ড্যাশবোর্ডে লগইন করুন, ড্যাশবোর্ড থেকে অ্যাপ্লিকেশন বিভাগটি প্রসারিত করুন এবং ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট বিবরণ দেখতে ক্লায়েন্ট শংসাপত্র বিভাগে নীচে স্ক্রোল করুন।

এখন পরবর্তী ধাপ হল একটি JSON ওয়েব টোকেন (JWT) তৈরি করা যাতে API গুলি কমান্ড প্রম্পটের মাধ্যমে অ্যাক্সেসযোগ্য হয়।

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=7042694c-5251-4aba-83c9-e81e7518724f&client_secret=db246d4742e8cd22e7266c9391992689" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

টেক্সট টীকা

একটি টেক্সট টীকা হল একটি PDF নথিতে একটি নির্দিষ্ট স্থানে সংযুক্ত একটি টীকা। বন্ধ হলে, টীকাটি একটি আইকন হিসাবে প্রদর্শিত হয়; খোলা হলে, এটি পাঠকের দ্বারা নির্বাচিত ফন্ট এবং আকারে নোট পাঠ্য ধারণকারী একটি পপ-আপ উইন্ডো প্রদর্শন করবে। টেক্সট টীকা যোগ করতে, আমাদের PostPageTextAnnotation API ব্যবহার করতে হবে। নোট আইকনের সাথে টেক্সট টীকা যোগ করতে নিম্নলিখিত cURL কমান্ডটি ব্যবহার করুন।

 curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/text" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "[{  \"Color\": {  \"A\": 0, \"R\": 0xDA,  \"G\": 0xA5, \"B\": 0x20    },  \"Contents\": \"Hello World \",  \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"string\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 800,      \"URX\": 100,      \"URY\": 100    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"string\",    \"Subject\": \"Subject of Annotation\",    \"Title\": \"Annotation Title\",    \"RichText\": \"string\",    \"State\": \"Undefined\",    \"Open\": true,    \"Icon\": \"Note\"  }]"
PDF এ টেক্সট টীকা

চিত্র 1:- পিডিএফ ফাইলে নোট আইকন সহ পাঠ্য টীকা।

উপরের উদাহরণে ব্যবহৃত নমুনা পিডিএফ ফাইলগুলি নিম্নলিখিত লিঙ্কগুলি থেকে ডাউনলোড করা যেতে পারে

পলিলাইন টীকা

পলিলাইন টীকাগুলি একটি পৃষ্ঠায় পলিলাইন হাতে-আঁকতে ব্যবহৃত হয়। তারা পলিলাইন শীর্ষবিন্দু দ্বারা সংজ্ঞায়িত যেকোনো সংখ্যক বাহু ধারণ করতে পারে। স্বচ্ছ ভরাট রঙ সহ পলিলাইন টীকা শুধুমাত্র তাদের দৃশ্যমান লাইনের চারপাশে নির্বাচনযোগ্য। পলিলাইন টীকাগুলি PostPagePolyLineAnnotations API ব্যবহার করেও যোগ করা যেতে পারে।

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/polyline" \
-H  "accept: application/json" \
-H  "authorization: Bearer " \
-H  "Content-Type: application/json" \
-d "[  {       \"Color\": {      \"A\": 0,      \"R\": 122,      \"G\": 132,      \"B\": 255    },    \"Contents\": \"Hello World...\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"Polyline\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 200,      \"URX\": 150,      \"URY\": 250    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject of Annotation\",    \"Title\": \"Title of Annotation\",    \"RichText\": \"<?xml version=\\\"1.0\\\"?><body xmlns=\\\"http://www.w3.org/1999/xhtml\\\" xmlns:xfa=\\\"http://www.xfa.org/schema/xfa-data/1.0/\\\" xfa:APIVersion=\\\"Acrobat:7.0.0\\\" xfa:spec=\\\"2.0.2\\\" ><span style=\\\"text-decoration:;font-size:10.0pt\\\">Contents</span></body>\",    \"InteriorColor\": {      \"A\": 255,      \"R\": 120,      \"G\": 110,      \"B\": 255    },    \"StartingStyle\": \"Circle\",    \"EndingStyle\": \"OpenArrow\",    \"Intent\": \"PolyLineDimension\",    \"Vertices\": [      {            \"X\": 164.611,            \"Y\": 499.629          },          {            \"X\": 192.858,            \"Y\": 509.857          },          {            \"X\": 226.461,            \"Y\": 493.785          }    ]  }]"

স্কুইগ্লি টীকা

annotpdf - npm

স্কুইগ্লি বা জ্যাগড আন্ডারলাইন করা টীকা নথির মধ্যে তথ্য হাইলাইট করতে সাহায্য করে। এগুলি PostPageSquigglyAnnotations API ব্যবহার করে যোগ করা যেতে পারে। নীচে দেওয়া কমান্ড আপনাকে পিডিএফ নথিতে স্কুইগ্লি টীকা যোগ করতে সহায়তা করে।

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/squiggly" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "[  {    \"Color\": {      \"A\": 255,      \"R\": 120,      \"G\": 123,      \"B\": 150    },    \"Contents\": \"A squiggly Annotation\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"First Annotation\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 300,      \"URX\": 120,      \"URY\": 330    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject \",    \"Title\": \"Title of Squiggly\",     \"Starting\": {      \"X\": 162.663,      \"Y\": 654.5    },    \"StartingStyle\": \"Circle\",    \"Ending\": {      \"X\": 230.845,      \"Y\": 654.5    },    \"EndingStyle\": \"OpenArrow\",    \"InteriorColor\": {      \"A\": 255,      \"R\": 220,      \"G\": 220,      \"B\": 220    },    \"LeaderLine\": 10,    \"LeaderLineExtension\": 5,    \"LeaderLineOffset\": 2.5,    \"ShowCaption\": true,    \"CaptionOffset\": {      \"X\": 7,      \"Y\": 8    },    \"CaptionPosition\": \"Top\",    \"Intent\": \"LineArrow\",\"RichText\": \"string\",    \"QuadPoints\": [      {        \"X\": 100,        \"Y\": 200      }    ]  }]"

সংযুক্তি টীকা

পিডিএফ ডকুমেন্টে অ্যাটাচমেন্ট অ্যানোটেশন হিসেবে বিভিন্ন ফাইল যোগ করা যেতে পারে এবং এই প্রয়োজনীয়তা পূরণ করতে PostPageFileAttachmentAnnotations API ব্যবহার করা যেতে পারে। PDF নথিতে একটি বিদ্যমান ফাইল সংযুক্ত করতে নিম্নলিখিত cURL কমান্ডটি চালান। আমাদের উদাহরণে, PdfWithTable.pdf (ইতিমধ্যেই ক্লাউড স্টোরেজে উপলব্ধ) নামের ফাইলটি একটি সংযুক্তি হিসেবে ব্যবহার করা হয়েছে৷

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/fileattachment" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
 -d "[  {       \"Color\": {      \"A\": 255,      \"R\": 120,      \"G\": 120,      \"B\": 120    },    \"Contents\": \"Content\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"FileAttachment\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 200,      \"URX\": 120,      \"URY\": 2200    },    \"PageIndex\": 1,    \"ZIndex\": 0,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Top\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject\",    \"Title\": \"Title\",    \"RichText\": \"string\",    \"Icon\": \"PushPin\",    \"Opacity\": 0,    \"FileDescription\": \"string\",    \"FileName\": \"PdfWithTable.pdf\",    \"FilePath\": \"PdfWithTable.pdf\"  }]"

জাভা ব্যবহার করে টীকা যোগ করুন

CURL কমান্ড ব্যতীত, আমাদের ক্লাউড API ব্যবহার করার আরেকটি পদ্ধতি হল প্রোগ্রামিং SDK-এর মাধ্যমে সেগুলি অ্যাক্সেস করা। আমরা জনপ্রিয় প্রোগ্রামিং ভাষার জন্য প্রোগ্রামিং SDK তৈরি করেছি। সুতরাং, জাভা ল্যাঙ্গুয়েজ ব্যবহার করে PDF এ টীকা নিয়ে কাজ করতে, অনুগ্রহ করে [Aspose.PDF Cloud SDK for Java] ব্যবহার করার চেষ্টা করুন12

প্রথম ধাপ হল সিস্টেমে SKD ইনস্টল করা। ক্লাউড SDK Maven এবং GitHub এ ডাউনলোডের জন্য উপলব্ধ। এখন আপনার Maven বিল্ড প্রজেক্টে Aspose.Pdf.jar ডাউনলোড এবং ব্যবহার করতে আপনার pom.xml ফাইলে নিম্নলিখিত বিবরণ যোগ করুন।

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

আরও তথ্যের জন্য, অনুগ্রহ করে [How to Install Aspose.Cloud SDKs] দেখুন 15

টেক্সট টীকা

PDF নথিতে টেক্সট টীকা যুক্ত করার ধাপগুলি নীচে দেওয়া হল৷

  • প্রথম ধাপ হল একটি PdfApi অবজেক্ট তৈরি করা যেখানে আমরা আর্গুমেন্ট হিসাবে ClientID এবং ClientSecret প্রদান করি
  • তারপর আমরা আয়তক্ষেত্র অবজেক্ট তৈরি করি যেখানে টীকা যোগ করা হয়
    • LLX - নীচের-বাম কোণের X-স্থানাঙ্ক।
    • LLY - Y - নীচের-বাম কোণের স্থানাঙ্ক।
    • URY - X - উপরের-ডান কোণার স্থানাঙ্ক।
    • URY - Y - উপরের-ডান কোণের স্থানাঙ্ক।
  • TextAnnotation অবজেক্ট তৈরি করুন যেখানে আমরা setHorizontalAlignment(..) পদ্ধতি ব্যবহার করে প্রান্তিককরণ সংজ্ঞায়িত করি। setSubject(…) পদ্ধতি ব্যবহার করে বিষয় সেট করুন, setState(…) পদ্ধতি ব্যবহার করে ডিফল্ট অবস্থা, ইত্যাদি
  • তারপর ArrayList<> টাইপের TextAnnotation অবজেক্ট তৈরি করুন এবং উপরে তৈরি করা TextAnnotation অবজেক্টটি যোগ করুন।
  • অবশেষে, postPageTextAnnotations(…) কল করুন যেখানে আমরা পিডিএফ ফাইলের নাম, পৃষ্ঠা নম্বর এবং আর্গুমেন্ট হিসাবে উপরে তৈরি করা টীকা অ্যারেলিস্ট ইনপুট পাস করি।
// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
				
// পিডিএফএপিআই উদাহরণ তৈরি করুন
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// ইনপুট পিডিএফ ডকুমেন্ট
String name = "PdfWithTable.pdf";	        
			    
// স্থানীয় সিস্টেম থেকে ফাইল লোড করুন
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// ক্লাউড স্টোরেজে ফাইলটি আপলোড করুন
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// পৃষ্ঠা নম্বর যেখানে টীকা যোগ করতে হবে
int pageNumber = 1;

// আয়তক্ষেত্র বস্তু তৈরি করুন যেখানে টীকা যোগ করা হয়
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// অ্যানোটেশন ফ্ল্যাগগুলির তালিকা অ্যারে তৈরি করুন
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// TextAnnotation অবজেক্ট তৈরি করুন
TextAnnotation textAnnotation = new TextAnnotation();
textAnnotation.setName("Annotation Name");
textAnnotation.setRect(rect);
textAnnotation.setFlags(flags);
textAnnotation.setHorizontalAlignment(HorizontalAlignment.CENTER);

// টীকা ভিতরে প্রদর্শিত হবে বিষয়বস্তু সেট করুন
textAnnotation.contents("Hello World...");
// টীকা জন্য আইকন সেট করুন
textAnnotation.icon(TextIcon.KEY);

textAnnotation.setSubject("Text Box Subj");
textAnnotation.setZindex(1);

// টীকা অবজেক্টের ডিফল্ট অবস্থা
textAnnotation.setState(AnnotationState.COMPLETED);
		        
// TextAnnotation এর ListArray তৈরি করুন
List<TextAnnotation> annotations = new ArrayList<>();

// তালিকার উদাহরণে উপরে তৈরি টেক্সট অ্যানোটেশন যোগ করুন
annotations.add(textAnnotation);

// পিডিএফ ফাইলে টীকা যোগ করার পদ্ধতিটি কল করুন
AsposeResponse response = pdfApi.postPageTextAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

পলিলাইন টীকা

ক্লাউড SDK পিডিএফ ডকুমেন্টে পলিলাইন টীকা যোগ করার জন্য একই ক্ষমতা প্রদান করে। এই প্রয়োজনীয়তা পূরণ করার জন্য ধাপ এবং কোড স্নিপেট নীচে দেওয়া হল।

  • প্রথমত, আমাদের একটি PdfApi ইনস্ট্যান্স তৈরি করতে হবে এবং সোর্স ফাইলটি ক্লাউড স্টোরেজে আপলোড করতে হবে।
  • Point টাইপের ArrayList তৈরি করুন যা পয়েন্টগুলিকে সংজ্ঞায়িত করে যেখানে পলিলাইনগুলি আঁকা হবে।
  • পরবর্তী ধাপ হল একটি PolyLineAnnotation অবজেক্ট তৈরি করা যেখানে আমরা আয়তক্ষেত্রাকার অঞ্চলকে সংজ্ঞায়িত করি এবং Points ListArray কে setVertices(…) পদ্ধতিতে পাস করি।
  • অভ্যন্তরীণ রঙ সেট করতে, পদ্ধতিটি ব্যবহার করুন setInteriorColor(…) এবং একটি যুক্তি হিসাবে Color উদাহরণ পাস করুন।
  • টীকা শুরু এবং শেষ করার শৈলী নির্ধারণ করতে এখন startingStyle(…) এবং endingStyle(…) পদ্ধতিগুলিকে কল করুন৷ এই পদ্ধতিগুলি লাইনএন্ডিং গণনা থেকে আর্গুমেন্ট হিসাবে মান নেয়।
  • অবশেষে, পিডিএফ ডকুমেন্টের ভিতরে টীকা রেন্ডার করতে PdfApi ক্লাসের postPagePolyLineAnnotations(…) পদ্ধতিতে কল করুন।
// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// পিডিএফএপিআই উদাহরণ তৈরি করুন
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// ইনপুট পিডিএফ ডকুমেন্ট
String name = "PdfWithTable.pdf";	        
			    
// স্থানীয় সিস্টেম থেকে ফাইল লোড করুন
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// ক্লাউড স্টোরেজে ফাইলটি আপলোড করুন
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// ইনপুট ফাইলের জন্য পৃষ্ঠা নম্বর যেখানে টীকা যোগ করা হবে
int pageNumber = 1;

// টীকাটির জন্য আয়তক্ষেত্রাকার অঞ্চল
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// টীকা জন্য শীর্ষবিন্দু নির্দিষ্ট করুন
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));

List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// পলিলাইন অ্যানোটেশন অবজেক্ট তৈরি করুন
PolyLineAnnotation annotation = new PolyLineAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
// টীকাটির অনুভূমিক প্রান্তিককরণ সেট করুন
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");

// রঙের বস্তু তৈরি করুন
Color color = new Color();
color.setA(255);
color.setR(120);
color.setG(140);
color.setB(130);

// টীকা উদাহরণের জন্য অভ্যন্তরীণ রঙ সেট করুন
annotation.setInteriorColor(color);
		        
annotation.setVertices(vertices);
// টীকা জন্য শুরু শৈলী নির্দিষ্ট করুন
annotation.startingStyle(LineEnding.OPENARROW);

// টীকা জন্য শেষ শৈলী সেট
annotation.endingStyle(LineEnding.SQUARE);

List<PolyLineAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// নথির প্রথম পৃষ্ঠায় পলিলাইন টীকা যোগ করার পদ্ধতিটি কল করুন
AsposeResponse response = pdfApi.postPagePolyLineAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

স্কুইগ্লি টীকা

পিডিএফ ডকুমেন্টে স্কুইগ্লি টীকা যোগ করার জন্য SquigglyAnnotation নামে একটি আলাদা ক্লাস ব্যবহার করা হয়। নীচের কোড স্নিপেটটি ক্লাউড স্টোরেজে উপলব্ধ পিডিএফ ফাইলে স্কুইগ্লি টীকা যোগ করতে ব্যবহার করা যেতে পারে।

// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// পিডিএফএপিআই উদাহরণ তৈরি করুন
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// ইনপুট পিডিএফ ডকুমেন্ট
String name = "PdfWithTable.pdf";	        
			    
// স্থানীয় সিস্টেম থেকে ফাইল লোড করুন
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// ক্লাউড স্টোরেজে ফাইলটি আপলোড করুন
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// ইনপুট ফাইলের জন্য পৃষ্ঠা নম্বর যেখানে টীকা যোগ করা হবে
int pageNumber = 1;

// টীকাটির জন্য আয়তক্ষেত্রাকার অঞ্চল
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// টীকা জন্য শীর্ষবিন্দু নির্দিষ্ট করুন
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));

List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// SquigglyAnnotation অবজেক্ট তৈরি করুন
SquigglyAnnotation annotation = new SquigglyAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
		        
// রঙের বস্তু তৈরি করুন
Color color = new Color();
color.setA(155);
color.setR(120);
color.setG(140);
color.setB(130);

// টীকা উদাহরণের জন্য অভ্যন্তরীণ রঙ সেট করুন
annotation.color(color);

// টীকা পয়েন্ট সেট করুন		        
annotation.setQuadPoints(vertices);

List<SquigglyAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// নথির প্রথম পৃষ্ঠায় স্কুইগ্লি টীকা যোগ করার পদ্ধতিটি কল করুন
AsposeResponse response = pdfApi.postPageSquigglyAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

ফাইল সংযুক্তি টীকা

ফাইল সংযুক্তি টীকা যোগ করতে, নিম্নলিখিত কোড স্নিপেট ব্যবহার করার চেষ্টা করুন. কোডের বিবরণটি উপরের বিভাগে শেয়ার করা একই রকম, এই প্রয়োজনীয়তা পূরণ করতে আপনাকে FileAttachmentAnnotation অবজেক্ট ব্যবহার করতে হবে।

// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// পিডিএফএপিআই উদাহরণ তৈরি করুন
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// ইনপুট পিডিএফ ডকুমেন্ট
String name = "PdfWithTable.pdf";	        
			    
// স্থানীয় সিস্টেম থেকে ফাইল লোড করুন
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// ক্লাউড স্টোরেজে ফাইলটি আপলোড করুন
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// ইনপুট ফাইলের জন্য পৃষ্ঠা নম্বর যেখানে টীকা যোগ করা হবে
int pageNumber = 1;

// টীকাটির জন্য আয়তক্ষেত্রাকার অঞ্চল
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(100.)
    .URX(200.)
    .URY(200.);

List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// FileAttachmentAnnotation অবজেক্ট তৈরি করুন
FileAttachmentAnnotation annotation = new FileAttachmentAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
		        
// সংযুক্তি ফাইলের পথ
annotation.setFilePath("images.jpeg");
// সংযুক্তি ফাইলের নাম
annotation.setFileName("images.jpeg");

// ফাইল অ্যাটাচমেন্টের তালিকার উদাহরণ তৈরি করুন
List<FileAttachmentAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// নথির প্রথম পৃষ্ঠায় ফাইল অ্যাটাচমেন্ট টীকা যোগ করার পদ্ধতিটি কল করুন
AsposeResponse response = pdfApi.postPageFileAttachmentAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

উপসংহার

এই নিবন্ধে, আমরা PDF নথিতে টেক্সট, পলিলাইন, স্কুইগলি, এবং ফাইল অ্যাটাচমেন্ট টীকা যোগ করার জন্য পদক্ষেপ এবং সম্পর্কিত বিবরণ নিয়ে আলোচনা করেছি। যেহেতু আমাদের ক্লাউড SDKগুলি ওপেন সোর্স, তাই আপনি GitHub থেকে সম্পূর্ণ সোর্স কোড ডাউনলোড করতে পারেন৷ জাভা ক্লাউড SDK ব্যবহার করার পাশাপাশি বিদ্যমান পিডিএফ ফাইলগুলিকে ম্যানিপুলেট করার জন্য কীভাবে ব্যবহার করতে হয় সে সম্পর্কে সংগ্রহস্থলটিতে অন্যান্য দরকারী উদাহরণ রয়েছে। আপনার যদি কোন সম্পর্কিত প্রশ্ন থাকে, অনুগ্রহ করে বিনামূল্যে [গ্রাহক সমর্থন ফোরাম26 এর মাধ্যমে আমাদের সাথে নির্দ্বিধায় যোগাযোগ করুন।

সম্পর্কিত নিবন্ধ

আমরা আপনাকে নিম্নলিখিত নিবন্ধগুলি দেখার জন্য সুপারিশ করছি: