
واترمارک متن یا تصویری است که در جلو یا پشت محتوای سند موجود مانند یک تمبر ظاهر می شود. به عنوان مثال، می توانید یک واترمارک “محرمانه” را برای صفحات دارای اطلاعات حساس اعمال کنید. واترمارک ها می توانند برای محافظت از اطلاعات محرمانه و نشان دادن اعتبار یک سند قانونی استفاده شوند. همچنین می توانید هر اسکناس کاغذی را علامت گذاری کنید، جایی که به جلوگیری از جعل کمک می کند. در این مقاله قصد داریم به ویژگی های مربوط به واترمارک در سند PDF بپردازیم.
- دستکاری PDF REST API
- با استفاده از REST API، واترمارک متن را در PDF اضافه کنید
- نحوه اضافه کردن واترمارک تصویر در PDF با استفاده از جاوا
- صفحه PDF را به عنوان تمبر واترمارک اضافه کنید
- اضافه کردن شماره صفحه به عنوان واترمارک
دستکاری PDF REST API
Aspose.PDF Cloud برنده جایزه REST API ما است که توانایی ایجاد، دستکاری و همچنین ارائه فایلهای PDF را به فرمتهای پشتیبانیشده دیگر از جمله DOCX، PPTX، XLSX، XPS، SVG، [JPEG][Lose]، [JPEG][loose]، ارائه میکند. SDK برای جاوا]8 که یک پوشش Java در اطراف Aspose.PDF Cloud API است. تمام ویژگی های Cloud REST API از جمله قابلیت افزودن واترمارک به PDF با استفاده از زبان برنامه نویسی Java را فراهم می کند.
برای استفاده از Java Cloud SDK، اولین قدم نصب Aspose.PDF Cloud SDK for Java است. Cloud SDK برای دانلود از طریق Maven در دسترس است GitHub. در زیر جزئیات نحوه دانلود و استفاده از Aspose.Pdf.jar در پروژه ساخت Maven آورده شده است.
وابستگی های زیر را در فایل 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>
با استفاده از REST API، واترمارک متن را در PDF اضافه کنید
برای استفاده از Cloud API، ابتدا باید یک حساب در Aspose.Cloud dashboard ثبت کنید که در آن شناسه مشتری شخصی و جزئیات Client Secret را مشاهده خواهید کرد. اینها هنگام دسترسی به APIها ضروری هستند. در زیر جزئیاتی در مورد نحوه افزودن واترمارک متنی به سند PDF موجود با استفاده از Java ارائه شده است
- ابتدا باید Client ID و Client Secret را در مقابل دو متغیر مشخص کنید.
- در مرحله دوم، یک شی از کلاس PdfApi با ارائه Client ID و Client Secret به عنوان آرگومان ایجاد کنید.
- ثالثاً یک شی از کلاس TextState ایجاد کنید که در آن نام قلم را Arial و اندازه قلم را 14 تعیین می کنیم.
- اکنون باید یک نمونه از کلاس TextStamp ایجاد کنیم. در حین استفاده از این شی، HorizontalAlignment را به عنوان مرکز مشخص می کنیم، مقدار مهر متن، اندازه فونت و جزئیات نوع فونت با استفاده از متد textState(..) مشخص می شود که در آن شی TextState ایجاد شده در مرحله بالا به عنوان آرگومان ارسال می شود. جزئیات حاشیه و Vertical Alignment نیز به عنوان مرکز مشخص شده است.
- برای نمایش TextStamp در پسزمینه، از متد background(..) با آرگومان درست استفاده میشود.
- علاوه بر این، opacity، rotateAngle، ضریب بزرگنمایی و تورفتگی XY برای مهر نیز مشخص شده است.
- اکنون یک شی از کلاس List با نوع TextStamp ایجاد کنید و شی stamp ایجاد شده در بالا را به این لیست اضافه کنید.
- در نهایت، متد postPageTextStamps(..) PdfAPi را فراخوانی کنید و PDF ورودی، شماره صفحه و فهرست stamps را به عنوان آرگومان برای شروع فرآیند stamp ارسال کنید.
// برای نمونههای کامل و کد منبع، لطفاً به https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java مراجعه کنید.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
String sourceFileName = "PdfWithTable.pdf";
int pageNumber = 1;
String cloudStorage = "";
String folder = "";
// با استفاده از Client ID و Client Secret یک نمونه از PdfApi ایجاد کنید
com.aspose.asposecloudpdf.api.PdfApi pdfApi = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientId);
// یک شی از TextState ایجاد کنید و جزئیات قالب بندی فونت را مشخص کنید
com.aspose.asposecloudpdf.model.TextState textState = new com.aspose.asposecloudpdf.model.TextState().fontSize(24.).font("Arial");
com.aspose.asposecloudpdf.model.TextStamp stamp = new com.aspose.asposecloudpdf.model.TextStamp()
.textAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
.value("Text Stamp")
.textState(textState)
.leftMargin(1.)
.rightMargin(2.)
.topMargin(3.)
.bottomMargin(4.)
.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.CENTER);
stamp.background(true)
.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
.opacity(1.)
.rotate(com.aspose.asposecloudpdf.model.Rotation.ON90)
.rotateAngle(45.)
.xindent(0.)
.yindent(0.)
.zoom(1.);
// یک شی List با نوع TextStamp ایجاد کنید
List<com.aspose.asposecloudpdf.model.TextStamp> stamps = new ArrayList<>();
// نمونه TextStamp را به لیست TextStamp ها اضافه کنید
stamps.add(stamp);
// فراخوانی روش به postTextStamp به صفحه اول فایل PDF
com.aspose.asposecloudpdf.model.AsposeResponse response = pdfApi.postPageTextStamps(sourceFileName, pageNumber, stamps,cloudStorage, folder);

تصویر 1: - مهر متن به سند PDF اضافه شد.
فایل های نمونه استفاده شده در مثال بالا را می توانید از لینک های زیر دانلود کنید:
نحوه اضافه کردن واترمارک تصویر در PDF با استفاده از Java
با خطوط کد کمتر، واترمارک Image را می توان به راحتی به یک سند PDF اضافه کرد. در زیر مراحلی ارائه شده است که چگونه می توانید یک تصویر JPEG را به یک فایل PDF اضافه کنید.
- در مرحله اول، مرحله ایجاد یک شی PdfApi در حالی که ClientSecret و ClientID به عنوان آرگومان ارسال می شود.
- مرحله بعدی ایجاد شی ImageStamp است که در آن فایل تصویری را که باید مهر شود، جزئیات حاشیه و VerticalAlignment را تعریف می کنیم. در مورد ما، مقدار Center را از VerticalAlignment enumeration انتخاب کردهایم.
- ImageStamp.background (True) را طوری تنظیم کنید که تصویر در پشت محتوا روی صفحه ظاهر شود. در غیر این صورت، در بالای محتوای صفحه ظاهر می شود.
- یک شی List از نوع ImageStamp ایجاد کنید و شی ImageStamp ایجاد شده در مرحله دوم را به این مجموعه اضافه کنید.
- در نهایت، متد postPageImageStamps(…) از کلاس PdfApi را فراخوانی کنید که در آن PDF ورودی، شماره صفحه برای واترمارک و لیست ImageStamp ایجاد شده در بالا به عنوان آرگومان ارسال می کنیم.
- فایل PDF با واترمارک تصویر در همان فضای ذخیره سازی ابری ذخیره می شود. پیش نمایش فایل حاصل در زیر نمایش داده می شود.
// برای نمونههای کامل و کد منبع، لطفاً به https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java مراجعه کنید.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";
// یک نمونه از PdfApii ایجاد کنید
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// سند PDF را وارد کنید
String file = "PdfWithTable.pdf";
// تصویر منبع برای استفاده برای واترمارک
String image = "Koala.jpg";
// شماره صفحه که در آن واترمارک اضافه خواهد شد
int pageNumber = 1;
// یک نمونه از شی ImageStamp ایجاد کنید
ImageStamp stampObject = new ImageStamp()
.fileName(image)
.leftMargin(1.)
.rightMargin(2.)
.topMargin(3.)
.bottomMargin(214.)
.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.CENTER);
// اضافه کردن واترمارک پشت محتوای صفحه
stampObject.background(true)
.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
.opacity(1.)
.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
.rotateAngle(0.)
.xindent(0.)
.yindent(0.)
.zoom(0.2);
// لیستی از شی ImageStamp ایجاد کنید
List<com.aspose.asposecloudpdf.model.ImageStamp> stamps = new ArrayList<>();
// ImageStamp را به لیست ImageStamp ها اضافه کنید
stamps.add(stampObject);
// برای افزودن تصویر واترمارک به PDF متد API را فراخوانی کنید
AsposeResponse response = pdfApi.postPageImageStamps(file, pageNumber, stamps,null, null);

تصویر 2: - مهر تصویر به سند PDF اضافه شد.
نمونه فایل های استفاده شده در مثال بالا را می توانید از لینک زیر دانلود کنید.
صفحه PDF را به عنوان تمبر واترمارک اضافه کنید
به غیر از متن و تصویر، صفحه PDF را می توان به عنوان واترمارک به سند PDF موجود نیز اضافه کرد. در زیر مراحلی در مورد چگونگی انجام این الزامات ارائه شده است.
- اول از همه، یک شی از کلاس PdfApi ایجاد کنید و در عین حال Client ID و Client Secret را به عنوان آرگومان ارسال کنید.
- در مرحله دوم، یک نمونه از کلاس PdfPageStamp ایجاد کنید. این کلاس برای تعیین مسیر سند PDF استفاده می شود در حالی که برای واترمارک استفاده خواهد شد.
- روش PdfPageStamp.pageIndex(..) برای تعیین شماره صفحه فایل PDF که برای واترمارک استفاده می شود استفاده می شود.
- در میان روشهای دیگر، پسزمینه (..) مهم است، زیرا برای تنظیم واترمارک در پشت محتوای PDF یا نگه داشتن آن بر روی محتوا استفاده میشود.
- سپس یک لیست از نوع PdfPageStamp ایجاد کنید و شی PdfPageStamp ایجاد شده بالا را به مجموعه List اضافه کنید.
- در نهایت، متد postPagePdfPageStamps(…) از کلاس PdfApi را فراخوانی می کنیم که در آن فایل PDF منبع، فهرست صفحه و فهرست PdfPageStamp را به عنوان آرگومان ارسال می کنیم. خروجی حاصل در فضای ذخیره سازی ابری ذخیره می شود.
// برای نمونههای کامل و کد منبع، لطفاً به https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java مراجعه کنید.
// ClientID و ClientSecret را از https://cloud.aspose.com دریافت کنید
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";
// نمونه PdfApi را ایجاد کنید
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// سند PDF را وارد کنید
String sourcePDF = "PdfWithAnnotations.pdf";
// منبع PDF برای استفاده برای واترمارک
String stampPDF = "rusdoc.pdf";
// شماره صفحه که در آن واترمارک اضافه خواهد شد
int pageNumber = 1;
// یک نمونه از شی PdfPageStamp ایجاد کنید
PdfPageStamp stampObject = new PdfPageStamp()
// فایل PDF برای استفاده به عنوان واترمارک
.fileName(stampPDF)
// فهرست صفحه ای را که می خواهید به عنوان واترمارک اضافه کنید مشخص کنید
.pageIndex(1)
.leftMargin(150.)
.rightMargin(2.)
// ما حاشیه بالا -ve را برای بالا بردن واترمارک PDF تنظیم کرده ایم
.topMargin(-330.)
.bottomMargin(414.)
// تراز عمودی واترمارک را به عنوان بالا تنظیم کنید
.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.TOP);
// واترمارک را به پیش زمینه/قابل مشاهده بیاورید
stampObject.background(false)
.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
.opacity(1.)
.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
.rotateAngle(0.)
.xindent(0.)
.yindent(0.)
// ضریب بزرگنمایی را 0.7 تنظیم کنید تا فشرده شود و در 100٪ ظاهر شود.
.zoom(0.7);
// لیستی از شی PdfPageStamp ایجاد کنید
List<com.aspose.asposecloudpdf.model.PdfPageStamp> stamps = new ArrayList<>();
// PdfPageStamp را به لیست ImageStamps اضافه کنید
stamps.add(stampObject);
// برای افزودن PDF به عنوان واترمارک، متد API را فراخوانی کنید
AsposeResponse response = pdfApi.postPagePdfPageStamps(sourcePDF, pageNumber, stamps,null, null);

تصویر 3: - پیش نمایش فایل PDF اضافه شده به عنوان واترمارک.
فایل های نمونه استفاده شده در مثال بالا را می توانید از لینک های زیر دانلود کنید
اضافه کردن شماره صفحه به عنوان واترمارک
جزئیات شماره صفحه از منظر قابلیت استفاده بسیار مهم است، زیرا نشانه روشنی در مورد طول سند و همچنین صفحه ای که خواننده از آن عبور می کند، به خواننده می دهد.
- هنگامی که نمونه PdfApi را ایجاد کردیم، یک شی از کلاس PageNumberStamp ایجاد کنید.
- از مقدار متد(…) کلاس PageNumberStamp برای تعیین الگوی PageNumber stamp استفاده کنید.
- روش مهم دیگر setStartingNumber (..) است که تعداد واترمارک Page Number از آن شروع می شود را نشان می دهد.
- بیت دیگر کد شامل جزئیات حاشیه، کدورت، زاویه چرخش، ضریب oom و غیره مانند قطعه کد بالا است.
- ما باید startPageNumber و endPageNumber را در جایی که واترمارک Page Number قرار می گیرد مشخص کنیم.
- در نهایت، postDocumentPageNumberStamps (…) را فراخوانی کنید که فایل PDF ورودی، شیء PageNumberStamp، اطلاعات صفحه شروع و پایان را به عنوان آرگومان می گیرد و واترمارک شماره صفحه را در فایل منبع اضافه می کند.
// برای نمونههای کامل و کد منبع، لطفاً به https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java مراجعه کنید.
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "c235e685-1aab-4cda-a95b-54afd63eb87f";
String clientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9";
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// سند PDF را وارد کنید
String sourcePDF = "PdfWithTable.pdf";
// یک نمونه از شی PdfPageStamp ایجاد کنید
PageNumberStamp stampObject = new PageNumberStamp()
// قالب برای علامت شماره صفحه
.value("Page #")
.leftMargin(1.)
.rightMargin(2.)
.topMargin(3.)
.bottomMargin(4.)
// تراز عمودی واترمارک را به عنوان پایین تنظیم کنید
.verticalAlignment(com.aspose.asposecloudpdf.model.VerticalAlignment.BOTTOM);
// شماره شروع شمارنده را مشخص کنید
stampObject.setStartingNumber(3);
// واترمارک را به پیش زمینه/قابل مشاهده بیاورید
stampObject.background(false)
.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
.opacity(1.)
.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
.rotateAngle(0.)
.xindent(0.)
.yindent(0.)
.zoom(1.0);
// فرم صفحه خیره که در آن واترمارک قرار دهید
int startPageNumber = 2;
// ایندکس صفحه که واترمارک باید در آن قرار گیرد
int endPageNumber = 3;
// برای افزودن PDF به عنوان واترمارک، متد API را فراخوانی کنید
AsposeResponse response = pdfApi.postDocumentPageNumberStamps(sourcePDF, stampObject,startPageNumber, endPageNumber, null, null);

تصویر 4: - پیش نمایش شماره صفحه به عنوان واترمارک در PDF.
نمونه فایل های استفاده شده در مثال بالا را می توانید از لینک زیر دانلود کنید:
نکته سریع
Aspose.PDF Cloud SDK برای Java به قدری قدرتمند است که با چند خط کد، میتوانید JPEG، EPUB، LaTeX، HTML، PS، XSLFo، XPS، SVGs]2C، [2، 20]، [2، 20]، [2، 20]، 20، [2، 20]، 20، 1، CL به فرمت PDF. برای اطلاعات بیشتر، لطفاً به صفحه محصول مراجعه کنید.
نتیجه گیری
در این پست وبلاگ، ما با مراحلی آشنا شدیم که چگونه میتوانیم به راحتی اطلاعات Text، Image، PDF و PageNumber را با استفاده از Aspose.PDF Cloud SDK for Java به اسناد PDF موجود اضافه کنیم. لطفاً توجه داشته باشید که Cloud SDK های ما منبع باز هستند و همچنین می توانید کد منبع کامل آنها را دانلود کرده و آن را مطابق با نیاز خود تغییر دهید. کد منبع کامل را می توان از مخزن GitHub دانلود کرد. اگر سؤال مرتبطی دارید، لطفاً از طریق تالارهای پشتیبانی رایگان تماس بگیرید.