واترمارک بیشتر برای اسناد ذکر شده به عنوان پیش نویس و جلوگیری از هرگونه استفاده غیرقانونی از اسناد محرمانه استفاده می شود. وقتی پیشنویس نهایی شد یا محرمانهبودن به پایان رسید، میتوانید واترمارکها را از چنین اسنادی حذف کنید. واترمارک ها می توانند متنی یا تصویری باشند. در این مقاله نگاهی به نحوه حذف واترمارک از اسناد PDF در Java خواهیم داشت.
Java API برای حذف واترمارک های PDF
GroupDocs.Watermark Java API را برای مقابله با واترمارک ها در اسناد و تصاویر [فرمت های فایل] مختلف ارائه می دهد. اگر در حال ساخت یک برنامه حذف واترمارک هستید، راههای مفیدی را در اختیار شما قرار میدهد:
- تمام واترمارک ها را از سند PDF حذف کنید
- واترمارک هایپرلینک را حذف کنید
- حذف واترمارک با قالب بندی متن خاص
بیایید بیاموزیم که چگونه یک توسعهدهنده Java میتواند واترمارکها را از PDF با استفاده از GroupDocs.Watermark for Java به روشهای مختلف حذف کند. اول از همه، API را با برنامه خود دانلود و پیکربندی کنید.
دانلود یا پیکربندی کنید
میتوانید فایل JAR را از بخش دانلودها دانلود کنید یا از آخرین پیکربندیهای مخزن و وابستگی Maven در برنامههای Java خود استفاده کنید.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>21.3</version>
</dependency>
تمام واترمارک ها را از فایل های PDF در Java حذف کنید
API به شما این قدرت را می دهد که به راحتی یک واترمارک خاص و تمام واترمارک ها را از سند پیدا کرده و سپس حذف کنید. مراحل زیر نحوه حذف تمام واترمارک ها از یک سند PDF در Java را نشان می دهد.
- سند PDF را با استفاده از Watermarker بارگیری کنید.
- تمام واترمارکهای احتمالی را بهعنوان مجموعهای با استفاده از جستجو واکشی کنید.
- کل مجموعه را طی کنید و هر واترمارکی یا واترمارکی را که معیار را برآورده می کند حذف کنید.
- PDF به روز شده را بدون واترمارک روی آن ذخیره کنید.
کد Java زیر تمام واترمارک ها را از یک سند PDF حذف می کند.
// واترمارک ها را از PDF و سایر اسناد در Java حذف کنید
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");
PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
// هر واترمارک را با ذکر نمایه در سند حذف کنید.
possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();
حذف واترمارک هایپرلینک در جاوا
واترمارکینگ API امکان جستجو و حذف لینک ها از سند PDF را می دهد. مراحل زیر امکان حذف واترمارک هایپرلینک را از یک سند PDF در برنامه Java می دهد.
- فایل PDF را با استفاده از Watermarker بارگیری کنید.
- واترمارکهای احتمالی را بهعنوان مجموعهای با استفاده از جستجو واکشی کنید.
- مجموعه را طی کنید و واترمارک(هایی) را که با معیار مطابقت دارد حذف کنید.
- PDF به روز شده را بدون واترمارک روی آن ذخیره کنید.
نمونه کد Java زیر نحوه یافتن و حذف واترمارک هایپرلینک با یک URL خاص را از یک سند PDF نشان می دهد.
// واترمارک هایپرلینک را از PDF در Java حذف کنید
Watermarker watermarker = new Watermarker("path/watermark-document.pdf");
PossibleWatermarkCollection watermarks = watermarker.search(new TextSearchCriteria(Pattern.compile("someurl.com")));
for (int i = 0 ; i < watermarks.getCount(); i++)
{
if (HyperlinkPossibleWatermark.class.isInstance(watermarks.get_Item(i)))
{
System.out.println(watermarks.get_Item(i).getText());
watermarks.removeAt(i);
}
}
watermarker.save("path/no-hyperlink-watermarks.pdf");
حذف واترمارک از PDF با قالب بندی متن خاص در جاوا
واترمارک دارای قالب بندی متن خاص نیز می تواند حذف شود. شما می توانید نام فونت، اندازه، رنگ و غیره را به عنوان معیار جستجو ارائه دهید. API واترمارک ها را با ویژگی های مشابه پیدا می کند. مراحل زیر نحوه جستجو و حذف واترمارک از یک فایل PDF با قالب بندی متن خاص در Java را نشان می دهد.
- فایل PDF را با استفاده از Watermarker بارگیری کنید.
- معیار جستجو را با استفاده از TextFormattingSearchCriteria تنظیم کنید.
- تمام ویژگی های قالب بندی مورد نیاز را ارائه دهید.
- با ارائه معیارهای تعریف شده، تمام واترمارک های احتمالی را به عنوان یک مجموعه جستجو و دریافت کنید.
- تمام واترمارک های جستجو شده را با استفاده از روش clear() حذف کنید.
- PDF به روز شده را بدون واترمارک با ویژگی های تعریف شده ذخیره کنید.
کد Java زیر واترمارک ها را در یک سند PDF با قالب بندی متن مشخص شده حذف می کند.
// واترمارک با قالب بندی متن خاص را از PDF در Java حذف کنید
Watermarker watermarker = new Watermarker("path/watermarks.pdf");
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setForegroundColorRange(new ColorRange());
criteria.getForegroundColorRange().setMinHue(-5);
criteria.getForegroundColorRange().setMaxHue(10);
criteria.getForegroundColorRange().setMinBrightness(0.01f);
criteria.getForegroundColorRange().setMaxBrightness(0.99f);
criteria.setBackgroundColorRange(new ColorRange());
criteria.getBackgroundColorRange().setEmpty(true);
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(true);
PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();
watermarker.save("path/removed-watermarks.pdf");
watermarker.close();
نتیجه
به طور خلاصه، راه هایی برای حذف واترمارک های مختلف از اسناد PDF در Java یاد گرفتیم. ما به طور خاص تمام واترمارک های اعمال شده را حذف کردیم، سپس واترمارک های لینک ها و واترمارک ها را با قالب بندی متن خاص حذف کردیم. سعی کنید برنامه جاوای خود را برای یافتن و حذف واترمارک از اسناد PDF بسازید. علاوه بر این، میتوانید درباره GroupDocs.Watermark for Java از [اسناد] آن اطلاعات بیشتری کسب کنید. برای سؤالات، از طریق [فروم 10 با ما تماس بگیرید.