סימני מים משמשים בעיקר למסמכים שהוזכרו כטיוטות וכדי להימנע מכל שימוש בלתי חוקי במסמכים חסויים. כאשר הטיוטה סופית או שהסודיות מסתיימת, תוכל להסיר את סימני המים ממסמכים כאלה. סימני מים יכולים להיות מבוססי טקסט או תמונה. במאמר זה, נבדוק כיצד להסיר סימני מים ממסמכי PDF ב-Java.

הסר באופן תכנותי סימני מים מקובצי PDF.

Java API להסרת סימני מים של PDF

GroupDocs.Watermark מספק Java API להתמודדות עם סימני מים בתוך מסמכים ותמונות בפורמטים שונים של קובץ. אם אתה יוצר אפליקציה להסרת סימן מים, היא מספקת לך כמה דרכים שימושיות כדי:

  • הסר את כל סימני המים ממסמך ה-PDF
  • הסר סימני מים של היפר-קישור
  • מחק סימני מים עם עיצוב טקסט מסוים

בואו ללמוד כיצד מפתח Java יכול להסיר סימני מים מ-PDF באמצעות API של 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();

הסר סימן מים היפר-קישור ב-Java

ה-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 עם עיצוב טקסט מסוים ב-Java

ניתן להסיר גם את סימן המים בעל עיצוב הטקסט הספציפי. אתה יכול לספק את שם הגופן, גודלו, צבעו וכו’ כקריטריון החיפוש. ה-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. הסרנו ספציפית את כל סימני המים שהוחלו, ולאחר מכן הסרנו סימני מים של היפר-קישורים וסימני מים עם עיצוב טקסט ספציפי. נסה לבנות יישום Java משלך לאיתור והסרה של סימני מים ממסמכי PDF. חוץ מזה, אתה יכול ללמוד עוד על GroupDocs.Watermark for Java מהתיעוד שלו. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם