HTML
JPG
PDF
XML
DOCX
PDF
如何使用 Cloud Java SDK 在 PDF 文档中处理批注
为了通过 Cloud Java SDK 在 PDF 文档中处理批注,我们将使用 Aspose.PDF Cloud Java SDK 此云 SDK 让您能够轻松使用 Java 语言为各种云平台构建基于云的 PDF 创建、编辑和转换应用程序。打开 存储库 包管理器,搜索 Aspose.PDF Cloud 并进行安装。您也可以从包管理器控制台使用以下命令通过 Maven 安装它。
将 Aspose Cloud 仓库添加到您的应用程序 pom.xml 中
添加 Aspose Cloud 仓库
<repositories>
<repository>
<id>aspose-cloud</id>
<name>Aspose Cloud Repository</name>
<url>https://releases.aspose.cloud/java/repo/</url>
</repository>
</repositories>
要将 API 客户端库安装到本地 Maven 仓库,只需执行:
来自 Github 的安装
mvn clean install
要将其部署到远程 Maven 仓库,请配置仓库设置并执行:
部署 Maven 仓库
mvn clean deploy
使用 Java SDK 添加批注的步骤
Aspose.PDF Cloud 开发者可以仅用几行代码轻松加载和追加批注到 PDF 文档中。
- 上传 PDF。
- 创建一个样式化的文本框(包含字体、颜色、对齐方式)。
- 将批注提交到指定页面。
- 下载修改后的文档以供本地使用。
此示例代码展示了向 PDF 文档添加批注
package com.aspose.asposecloudpdfusecases.annotations;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.List;
import com.aspose.asposecloudpdf.api.PdfApi;
import com.aspose.asposecloudpdf.model.AsposeResponse;
import com.aspose.asposecloudpdf.model.Color;
import com.aspose.asposecloudpdf.model.FreeTextAnnotation;
import com.aspose.asposecloudpdf.model.FreeTextIntent;
import com.aspose.asposecloudpdf.model.HorizontalAlignment;
import com.aspose.asposecloudpdf.model.Justification;
import com.aspose.asposecloudpdf.model.Rectangle;
import com.aspose.asposecloudpdf.model.TextStyle;
public class AnnotationAddText {
public static void Create() {
String REMOTE_FOLDER = "Your_Temp_Pdf_Cloud";
String LOCAL_FOLDER = "c:\\Samples";
String PDF_DOCUMENT = "sample.pdf";
String PDF_OUTPUT = "annotation_add_freetext_output.pdf";
Integer PAGE_NUMBER = 1;
String NEW_UL_ANNOTATION_TEXT = "NEW FREE TEXT ANNOTATION";
String NEW_UL_ANNOTATION_DESCRIPTION = "This is a sample free text annotation";
String NEW_UL_ANNOTATION_SUBJECT = "Free Text Box Subject";
String NEW_UL_ANNOTATION_CONTENTS = "Free text annotation sample contents";
try {
PdfApi pdfApi = new PdfApi(API_KEY, API_SECRET);
// upload local PDF file to remote storage
File file = new File(Path.of(LOCAL_FOLDER, PDF_DOCUMENT).toString());
pdfApi.uploadFile(Path.of(REMOTE_FOLDER , PDF_DOCUMENT).toString(), file, null);
System.out.println(String.format("File '%s' successfully uploaded!", Path.of(LOCAL_FOLDER, PDF_DOCUMENT).toString()));
TextStyle textStyle = new TextStyle();
textStyle.setFontSize(20.);
textStyle.setForegroundColor(new Color().A(255).G(255));
textStyle.setBackgroundColor(new Color().A(255).R(255));
FreeTextAnnotation annotation = new FreeTextAnnotation();
annotation.setName("Free_Text_Annotation");
annotation.setRect(new Rectangle().LLX(100.).LLY(350.).URX(450.).URY(400.));
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.setIntent(FreeTextIntent.FREETEXTTYPEWRITER);
annotation.setRichText(NEW_UL_ANNOTATION_TEXT);
annotation.setSubject(NEW_UL_ANNOTATION_SUBJECT);
annotation.setContents(NEW_UL_ANNOTATION_CONTENTS);
annotation.setTitle(NEW_UL_ANNOTATION_DESCRIPTION);
annotation.setZindex(1);
annotation.setJustification(Justification.CENTER);
annotation.setTextStyle(textStyle);
annotation.setModified("11/20/2025 00:00:00.000 AM");
List<FreeTextAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
AsposeResponse response = pdfApi.postPageFreeTextAnnotations(PDF_DOCUMENT, PAGE_NUMBER, annotations, null, REMOTE_FOLDER);
if (response.getCode() != 200)
System.err.println("Error: unexpected error when adding annotation! '" + response.getStatus() + "'");
else{
// download changed PDF file from remote folder...
File f = pdfApi.downloadFile(Path.of(REMOTE_FOLDER , PDF_DOCUMENT).toString(), null, null);
java.nio.file.Files.copy(Path.of(f.getPath()), Path.of(LOCAL_FOLDER, PDF_OUTPUT), StandardCopyOption.REPLACE_EXISTING);
System.out.println(String.format("File '%s' successfully dowloaded!", Path.of(LOCAL_FOLDER, PDF_OUTPUT).toString()));
System.out.println("Successfully added annotation in document ! '" + PDF_OUTPUT + "'");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}