
У нас є вимога видаляти конфіденційну інформацію з PDF-файлів через конфіденційність даних, тому ми зазвичай редагуємо (видаляємо текст, зображення тощо) з певної частини сторінки документа PDF. Однак, коли ми маємо справу з великим набором документів, нам потрібно використовувати API для виконання цієї вимоги.
У цій статті ми обговоримо кроки редагування PDF онлайн за допомогою класу RedactionAnnotation Aspose.PDF Cloud SDK for Java.
- Встановлення SDK
- Додати анотацію редагування за допомогою Java
- Читайте анотації редагування сторінки
- Оновити наявну анотацію редагування
Встановлення SDK
Aspose.PDF Cloud SDK для Java – це API програмування, призначений для розробників Java, створений на основі Aspose.PDF Cloud API. Наші хмарні API можна використовувати з будь-якої платформи без встановлення спеціального програмного забезпечення. Однак, щоб використовувати SDK, його потрібно спочатку встановити в системі.
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>
Після встановлення SDK наступним кроком є отримання персонального ідентифікатора клієнта та секрету клієнта. Відвідайте інформаційну панель Aspose.Cloud і, якщо у вас є обліковий запис GitHub або Google, просто зареєструйтеся. В іншому випадку натисніть кнопку Створити новий обліковий запис і надайте необхідну інформацію. Тепер увійдіть на інформаційну панель за допомогою облікових даних і розгорніть розділ «Програми». Прокрутіть униз до розділу «Облікові дані клієнта», щоб переглянути деталі ідентифікатора клієнта та секрету клієнта.
Додати анотацію редагування за допомогою Java
У наведеному нижче розділі ми пояснили, як додати прямокутне поле, щоб видалити вміст PDF-файлів за допомогою Aspose.PDF Cloud SDK для Java.
- Перш за все, нам потрібно створити об’єкт PdfApi, передаючи дані ClientId і ClientSecret, отримані з інформаційної панелі Aspose.Cloud.
- По-друге, створіть об’єкт класу Rectangle, щоб вказати область на сторінці, куди буде додано анотацію.
- По-третє, виберіть значення за замовчуванням із переліку AnnotationFlags і додайте його до списку типу AnnotationFlags.
- Тепер створіть екземпляр класу RedactionAnnotation і встановіть прямокутну область за допомогою методу setRect(…).
- Встановіть горизонтальне вирівнювання за допомогою методу setHorizontalAlignment(…) і виберіть Center у списку HorizontalAlignment.
- Щоб заповнити кольором анотацію, використовуйте метод setFillColor(…) і передайте об’єкт Color.
- Встановіть дату останньої зміни анотації за допомогою методу setModified(…).
- Передостанній створіть список типу RedactionAnnotation і додайте об’єкт RedactAnnotation до цього списку.
- Нарешті, викличте метод postPageRedactionAnnotations(…) PdfApi та передайте назву вихідного файлу, номер сторінки, до якої потрібно додати анотацію. Також передайте RedactionAnnotation List як аргумент, щоб ініціювати процес редагування.
// Отримайте 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";
// сторінка PDF для розміщення анотації
int pageNumber = 1;
// створити прямокутний об’єкт, щоб указати область редагування анотації
// область обчислюється з нижнього лівого кута сторінки
Rectangle rect = new Rectangle()
// одиниця вимірювання - точка
.LLX(100.)
.LLY(700.)
.URX(200.)
.URY(600.);
// створити масив AnnotationFlags
List<AnnotationFlags> flags = new ArrayList<>();
// встановити AnnotationFlag за замовчуванням
flags.add(AnnotationFlags.DEFAULT);
// створити ArrayList точок
List<Point> points = new ArrayList<>();
points.add(new Point().X(10.).Y(40.));
points.add(new Point().X(30.).Y(40.));
// створити об’єкт Redact Annotation
RedactionAnnotation annotation = new RedactionAnnotation();
// встановіть назву анотації.
// Це корисно, коли в документі є кілька анотацій
annotation.setName("Name");
// встановити прямокутну область для редагування анотації
annotation.setRect(rect);
annotation.setFlags(flags);
// встановити горизонтальне вирівнювання по центру
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
// встановіть ZIndex на 1.
annotation.setZindex(1);
// Визначте колір SlateBlue у шістнадцятковому коді
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// вкажіть колір заливки для анотації
annotation.setFillColor(color);
// Дата й час останньої зміни анотації.
annotation.setModified("05/21/2021 12:00:00.000 AM");
// Встановіть масив 8xN чисел із зазначенням координат
// області вмісту, яку планується видалити.
annotation.setQuadPoint(points);
// створити об’єкт списку типу RedactAnnotation
List<RedactionAnnotation> annotations = new ArrayList<>();
// додати створений раніше об’єкт Annotations до масиву RedactAnnotation
annotations.add(annotation);
// додати RedactAnnotation до документа PDF
AsposeResponse response = pdfApi.postPageRedactionAnnotations(sourcePDF, pageNumber, annotations, null, null, true);
assertEquals(200, (int)response.getCode());

Зображення 1: Редагувати анотацію додано до файлу PDF.
Завантажте зразки файлів, використаних у прикладі вище, з
Читайте анотації редагування сторінки
Aspose.PDF Cloud SDK для Java також пропонує можливості для читання інформації щодо наявної анотації Redact у документі PDF. Наведені нижче кроки визначають, як читати деталі анотації за допомогою Java.
// Отримайте 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";
// Отримайте анотації редагування документа
RedactionAnnotationsResponse responseAnnotations = pdfApi.getPageRedactionAnnotations(sourcePDF,1, null, null);
assertEquals(200, (int)responseAnnotations.getCode());
// надрукувати кількість анотацій, доступних у документі
System.out.println(responseAnnotations.getAnnotations().getList().size());
Оновити наявну анотацію редагування
Якщо PDF-документ уже містить анотації Redaction, ми також можемо оновити їх за допомогою API. Нижче наведено відомості про те, як оновити наявну анотацію в документі PDF.
- Створіть екземпляр PdfApi, передаючи ідентифікатор клієнта та секрет клієнта як аргументи.
- Створіть об’єкт Rectangle, щоб визначити область анотації. Він обчислюється в нижньому лівому куті документа, а одиницею за замовчуванням є пункт.
- Створіть список AnnotationFlags і додайте до списку значення AnnotationFlags.DEFAULT.
- Тепер нам потрібно створити об’єкт RedactionAnnotation і викликати метод setRect(…), щоб визначити прямокутну область анотації.
- Використовуйте метод setModified(…), щоб установити дату останньої зміни анотації.
- Викличте метод getDocumentRedactionAnnotations(…) виклику PdfApi, щоб прочитати список анотацій із документа.
- Отримати певний об’єкт Annotation за допомогою responseAnnotations.getAnnotations().getList().get(0).getId().
- Нарешті, викличте метод putRedactionAnnotation(…) класу PdfApi, щоб оновити наявну анотацію Redaction у файлі PDF.
// Отримайте 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 = "PdfWithAnnotations.pdf";
// створити прямокутну область для анотації
Rectangle rect = new Rectangle()
.LLX(200.)
.LLY(120.)
.URX(150.)
.URY(100.);
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
List<Point> points = new ArrayList<>();
points.add(new Point().X(10.).Y(40.));
points.add(new Point().X(30.).Y(40.));
// створити об’єкт Redaction Annotation
RedactionAnnotation annotation = new RedactionAnnotation();
// встановіть назву для анотації
annotation.setName("Name Updated");
// встановити прямокутну область для анотації
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.setZindex(1);
annotation.setModified("01/01/2018 12:02:03.000 AM");
annotation.setQuadPoint(points);
// Визначте колір SlateBlue у шістнадцятковому коді
Color color = new Color();
color.setA(0x00);
color.setR(0x6A);
color.setG(0x5A);
color.setB(0xCD);
// вкажіть колір заливки для анотації
annotation.setFillColor(color);
// отримати наявну анотацію з документа
RedactionAnnotationsResponse responseAnnotations = pdfApi.getDocumentRedactionAnnotations(sourcePDF, null, null);
assertEquals(200, (int)responseAnnotations.getCode());
// отримати анотацію під індексом 0
String annotationId = responseAnnotations.getAnnotations().getList().get(0).getId();
// оновити анотацію з індексом 0
AsposeResponse response = pdfApi.putRedactionAnnotation(sourcePDF, annotationId, annotation, null, null, true);
assertEquals(200, (int)response.getCode());

Зображення 2: – Редагувати анотацію оновлено.
Файли ресурсів, використані у прикладі вище, можна завантажити за наступними посиланнями
висновок
У цій статті ми обговорили кроки, як відредагувати конфіденційну інформацію з документів PDF. Окрім анотації Redaction, API підтримує безліч інших функцій анотації, і їх деталі можна знайти на сторінці Робота з анотацією. Ви можете відвідати домашню сторінку продукту, щоб отримати додаткову інформацію про його можливості. Якщо у вас виникнуть пов’язані запитання, зв’яжіться через безкоштовний форум підтримки продуктів.