
ویرایش محتوای داخل یک صفحه PDF دشوار است، اما مشخصات PDF مجموعه کاملی از اشیاء را تعریف می کند که می توانند بدون تغییر محتوای صفحه به صفحات PDF اضافه شوند. این اشیا حاشیه نویسی نامیده می شوند و هدف آنها از علامت گذاری محتوای صفحه تا اجرای ویژگی های تعاملی مانند فرم ها را شامل می شود.
اکثر بینندگان PDF اجازه ایجاد و ویرایش انواع حاشیه نویسی، به عنوان مثال برجسته متن، یادداشت ها، خطوط، یا اشکال را می دهند، و صرف نظر از انواع حاشیه نویسی که ایجاد می شود، بینندگان PDF مطابق با مشخصات PDF نیز باید از ارائه برای همه انواع حاشیه نویسی پشتیبانی کنند. با این حال، هنگامی که با مجموعه بزرگی از اسناد سر و کار دارید، فرآیند دستی افزودن حاشیه نویسی دست و پا گیر می شود و بنابراین، یک API برنامه نویسی راه حل مناسبی است. ما بیشتر در مورد استفاده از Aspose.PDF Cloud SDK برای جاوا برای افزودن حاشیه نویسی به اسناد PDF بحث خواهیم کرد.
- نصب SDK
- متن Strikeout با استفاده از جاوا
- اضافه کردن حاشیه نویسی برجسته
- نحوه اضافه کردن حاشیه نویسی خط
- اضافه کردن حاشیه نویسی دایره در PDF
نصب SDK
Aspose.PDF Cloud SDK for Java یک API برنامه نویسی است که برنامه نویسان Java را قادر می سازد اسناد PDF موجود را ایجاد، دستکاری و همچنین به دیگر [فرمت های سند پشتیبانی شده] تبدیل کنند. Cloud SDK برای دانلود از طریق Maven و GitHub در دسترس است. اکنون جزئیات زیر را در فایل pom.xml خود اضافه کنید تا دانلود کنید و از Aspose.Pdf.jar در پروژه ساخت Maven خود استفاده کنید.
<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>
برای اطلاعات بیشتر، لطفاً به نحوه نصب Aspose.Cloud SDKs مراجعه کنید.
علاوه بر این، لطفاً توجه داشته باشید که برای اطمینان از حفظ حریم خصوصی و یکپارچگی دادههای کاربر، همه APIهای ما فقط برای افراد مجاز قابل دسترسی هستند. بنابراین، ابتدا باید از Aspose.Cloud dashboard بازدید کنید و اگر حساب GitHub یا Google دارید، به سادگی ثبت نام کنید. در غیر این صورت بر روی دکمه Create a new Account کلیک کرده و اطلاعات مورد نیاز را ارائه دهید. اکنون با استفاده از اعتبارنامه وارد داشبورد شوید و بخش Applications را از داشبورد گسترش دهید و به سمت پایین به سمت قسمت Client Credentials حرکت کنید تا Client ID و Client Secret را ببینید.
متن Strikeout با استفاده از Java
گاهی اوقات ما ملزم به علامت گذاری محتوای خاصی در داخل سند به عنوان منسوخ شده بدون حذف آن از سند هستیم. Strikethrough (معروف به خط خطی) با کلمات با خط افقی در مرکز آنها نشان داده می شود. به این معنی است که متن اشتباه یا منسوخ است و اخیراً حذف شده یا به عنوان علامت گذاری شده است. میتوانیم تنظیمات حاشیهنویسیهای خطی را با استفاده از ویژگی strikethroughSettings تنظیم کنیم. ویژگی strikethroughSettings برای تنظیم رنگ، کدورت، نویسنده، موضوع، تاریخ اصلاح شده و ویژگیهای isLocked حاشیهنویسیهای خطی استفاده میشود.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
// نمونه createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// سند PDF را وارد کنید
String sourcePDF = "PdfWithTable.pdf";
int pageNumber = 1;
// ایجاد یک منطقه مستطیلی برای Annotation
Rectangle rect = new Rectangle()
.LLX(200.)
.LLY(380.)
.URX(250.)
.URY(375.);
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
List<Point> points = new ArrayList<>();
points.add(new Point().X(132.).Y(380.)); // Top-Left edge of the Strike Through line
points.add(new Point().X(95.).Y(10.)); // Top-Right edge of the strike through line
points.add(new Point().X(130.).Y(25.));
points.add(new Point().X(130.).Y(10.));
StrikeOutAnnotation annotation = new StrikeOutAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setQuadPoints(points);
annotation.setModified("05/22/2021 00:00:00.000 AM");
List<StrikeOutAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
AsposeResponse response = pdfApi.postPageStrikeOutAnnotations(sourcePDF, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
اضافه کردن حاشیه نویسی برجسته
برجسته کردن محتوای داخل PDF ضروری است زیرا به ما امکان می دهد توجه را به اطلاعات مهم داخل سند جلب کنیم. برجسته کردن مؤثر است زیرا ابتدا از خواننده میخواهد بخشهای مهم را انتخاب کند، و سپس روش مؤثری برای مرور آن اطلاعات بعداً ارائه میکند. Cloud API ما قابلیت های برجسته کردن محتوای داخل اسناد PDF را فراهم می کند. در زیر مراحل اضافه کردن حاشیه نویسی هایلایت در یک فایل PDF آورده شده است.
- اول از همه، در حالی که جزئیات ClientSecret و ClientId را ارائه می دهید، یک نمونه از PdfApi ایجاد کنید.
- ما یک نمونه File برای بارگذاری یک فایل PDF از سیستم محلی ایجاد می کنیم و سپس روش uploadFile(…) از کلاس PdfApi را فراخوانی می کنیم تا سند را در فضای ذخیره سازی ابری آپلود کنیم.
- اکنون یک نمونه از کلاس Rectangle ایجاد کنید تا ناحیه مستطیلی را که می توان در آن حاشیه نویسی اضافه کرد را مشخص کرد.
- سپس یک ArrayList از نوع Point ایجاد کنید تا اطلاعات مربوط به نقاط را برای ترسیم HighlightAnnotation نگهداری کند.
- یک شی از کلاس HighlightAnnotation ایجاد کنید و نام، منطقه مستطیلی، موضوع، عنوان، چهار نقطه، تاریخ تغییر حاشیهنویسی را تنظیم کنید.
- مرحله بعدی ایجاد لیستی از نوع HighlightAnnotation و اضافه کردن شی HighlightAnnotation ایجاد شده در بالا به این لیست است.
- در نهایت، متد postPageHighlightAnnotations(…) کلاس PdfApi را فراخوانی کنید و PDF منبع، شماره صفحه و لیست Annotations را به عنوان آرگومان ارسال کنید.

تصویر 1: - حاشیه نویسی را در فایل PDF برجسته کنید.
می توانید فایل های نمونه استفاده شده در مثال بالا را از لینک های زیر دانلود کنید
نحوه اضافه کردن حاشیه نویسی خط
مشابه افزودن حاشیهنویسیهای خطنما و برجسته، API همچنین به شما امکان میدهد حاشیهنویسیهای خطی را در اسناد PDF اضافه کنید. ما یک کلاس به نام LineAnnotation برای انجام این نیاز داریم. در زیر جزئیات بیشتری در مورد چگونگی انجام این نیاز ارائه شده است.
- اول از همه، در حالی که جزئیات ClientSecret و ClientId را ارائه می دهید، یک نمونه از PdfApi ایجاد کنید.
- در صورت تمایل، یک نمونه File برای بارگیری یک فایل PDF از سیستم محلی ایجاد می کنیم و سپس روش uploadFile(…) از کلاس PdfApi را برای آپلود سند در فضای ذخیره سازی ابری فراخوانی می کنیم. در صورتی که فایل از قبل در فضای ذخیره سازی ابری موجود باشد، می توانیم از آن استفاده کنیم.
- بقیه خصوصیات مقداردهی اولیه شی همان چیزی است که در بالا برای HighlithAnnotation ذکر شد، به جز اینکه ما باید یک شی از کلاس LineAnnotation ایجاد کنیم و نقطه شروع و پایان یک خط را با استفاده از متدهای setStarting(…) و setEnding(…) تنظیم کنیم.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
// نمونه createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// سند PDF را وارد کنید
String sourcePDF = "PdfWithTable.pdf";
// فایل را از سیستم محلی بارگیری کنید
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);
// فایل را در فضای ذخیره سازی ابری آپلود کنید
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);
// شماره صفحه که در آن حاشیه نویسی اضافه خواهد شد
int pageNumber = 1;
// ایجاد یک منطقه مستطیلی برای Annotation
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(500.)
.URX(400.)
.URY(510.);
// شی List از نوع AnnotationFlags ایجاد کنید
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// شئ Line Annotations را ایجاد کنید
LineAnnotation annotation = new LineAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setTitle("Title");
// نقطه شروع خط را تعیین کنید
annotation.setStarting(new Point().X(100.).Y(100.));
// نقطه پایان خط را تنظیم کنید
annotation.setEnding(new Point().X(20.).Y(680.));
// یک نمونه رنگ برای stablue ایجاد کنید
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// تنظیم رنگ حاشیه نویسی
annotation.interiorColor(color);
// تنظیم تاریخ تغییر حاشیه نویسی
annotation.setModified("05/22/2021 00:00:00.000 AM");
// ایجاد نمونه لیست از حاشیه نویسی خط
List<LineAnnotation> annotations = new ArrayList<>();
// شی LineAnnotation را به لیست Line Annotation اضافه کنید
annotations.add(annotation);
// برای افزودن Line Annotation به فایل PDF متد API را فراخوانی کنید
AsposeResponse response = pdfApi.postPageLineAnnotations(sourcePDF, pageNumber, annotations, null, null);
اضافه کردن حاشیه نویسی دایره در PDF
حاشیه نویسی دایره نیز معمولاً در اسناد PDF استفاده می شود و API به خوبی از این نوع حاشیه نویسی پشتیبانی می کند. برای افزودن حاشیه نویسی حلقه، لطفاً از کلاس CircleAnnotation استفاده کنید. کد زیر مشخص شده می تواند برای برآورده کردن این نیاز استفاده شود.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
// نمونه createPdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// سند PDF را وارد کنید
String sourcePDF = "PdfWithTable.pdf";
// فایل را از سیستم محلی بارگیری کنید
File file = new File("/Users/nayyershahbaz/Downloads/" + sourcePDF);
// فایل را در فضای ذخیره سازی ابری آپلود کنید
FilesUploadResult uploadResponse = pdfApi.uploadFile(sourcePDF, file, null);
// شماره صفحه که در آن حاشیه نویسی اضافه خواهد شد
int pageNumber = 1;
// ایجاد یک منطقه مستطیلی برای Annotation
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(700.)
.URX(300.)
.URY(500.);
// شی List از نوع AnnotationFlags ایجاد کنید
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// شیء Highlight Annotations را ایجاد کنید
CircleAnnotation annotation = new CircleAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setRichText("Rich Text");
annotation.setSubject("Subj");
annotation.setTitle("Title");
// یک نمونه رنگ برای stablue ایجاد کنید
Color color = new Color();
color.setR(0xC7);
color.setG(0xE2);
color.setB(0x6f);
// تنظیم رنگ حاشیه نویسی
annotation.interiorColor(color);
// تنظیم تاریخ تغییر حاشیه نویسی
annotation.setModified("05/22/2021 00:00:00.000 AM");
// ایجاد نمونه لیست از حاشیه نویسی های برجسته
List<CircleAnnotation> annotations = new ArrayList<>();
// شی CircleAnnotation را به لیست حاشیه نویسی های حلقه اضافه کنید
annotations.add(annotation);
// برای افزودن Circle Annotation به فایل PDF متد API را فراخوانی کنید
AsposeResponse response = pdfApi.postPageCircleAnnotations(sourcePDF, pageNumber, annotations, null, null);

تصویر 2: - حاشیه نویسی دایره در فایل PDF.
سند PDF ورودی و پی دی اف حاصل، همانطور که در بالا نشان داده شده است، از لینک های زیر قابل دانلود هستند:
نکته سریع
از PDF Annotation App آنلاین رایگان ما برای حذف همه حاشیه نویسی ها از PDF خود با یک کلیک استفاده کنید.
نتیجه گیری
در این وبلاگ، انواع مختلفی از Annotations را که در حال حاضر توسط Aspose.PDF Cloud SDK برای Java پشتیبانی می شود، مورد بحث قرار داده ایم. جدا از Annotations، API از تعداد زیادی ویژگی هیجان انگیز دیگر مرتبط با فرمت PDF پشتیبانی می کند. برای اطلاعات بیشتر، توصیه میکنیم راهنمای توسعهدهنده را بیشتر بررسی کنید.
به اطلاع می رساند که ما همواره در تلاش هستیم تا به بهترین نحو ممکن در خدمت مشتریان باشیم و نظرات و پیشنهادات آنها را قبول کنیم. بنابراین، در صورتی که هنگام استفاده از API با مشکلی مواجه شدید یا سؤال مرتبطی دارید، لطفاً از طریق تالار گفتمان پشتیبانی رایگان با ما تماس بگیرید.
مقالات مرتبط
توصیه می کنیم برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید: