HTML JPG PDF XML DOCX
  Product Family
PDF

通过 Java SDK 为 PDF 文档添加文本批注

使用 Aspose.PDF Cloud Java SDK 添加 PDF 文档文本批注的 API。

Get Started

如何使用 Aspose.PDF Cloud Java SDK 向 PDF 文档添加文本批注

为了通过 Cloud Java SDK 向 PDF 文档添加批注,我们将使用 Aspose.PDF Cloud Java SDK 此 Cloud SDK 使您能够轻松使用 Java 语言为各种云平台构建基于云的 PDF 创建、编辑和转换应用程序。打开 Repository 在包管理器中搜索 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 文档。

  1. 上传 PDF。
  2. 创建带样式的文本框(包括字体、颜色、对齐方式)。
  3. 将批注提交到指定页面。
  4. 下载已修改的文档供本地使用。
 

此示例代码展示了向 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();
            }
        }
    }
 

使用 Java SDK 在 PDF 中处理批注

在 PDF 中添加批注在各种使用场景中具有许多重要用途。最常见的原因之一是用于审阅和反馈。批注让用户能够突出显示文档的特定部分、留下评论、提出问题或建议修改。这使审阅过程更加高效有序,尤其在有多个协作者参与时。 使用 Aspose.PDF Cloud Java SDK 向 PDF 文档添加批注。

使用我们的 Java SDK,您可以

  • 以文本或图像格式添加 PDF 文档的页眉和页脚。
  • 向 PDF 文档添加表格以及文本或图像戳记。
  • 将多个 PDF 文档追加到现有文件中。
  • 处理 PDF 附件、批注和表单字段。
  • 对 PDF 文档进行加密或解密并设置密码。
  • 删除页面或整个 PDF 文档中的所有戳记和表格。
  • 删除 PDF 文档中特定印章或表格(通过其 ID)。
  • 替换 PDF 页面或整个文档中的单个或多个文本实例。
  • 提供广泛的支持,将 PDF 文档转换为多种其他文件格式。
  • 提取 PDF 文件的各种元素并使 PDF 文档得到优化。
  • 您可以尝试我们的免费应用在在线为 PDF 文件添加批注并测试功能。

  •