GroupDocs.Annotation for Java API 是一个库,允许您在 Mac、Windows 或 Ubuntu 上向 PDF、Word 和其他文档添加注释。 GroupDocs.Annotation for Java 是一个用于管理注释的原生 Java API,全面支持从图像和各种其他文档中创建、添加、编辑、删除、提取和导出注释。您可以在此页面上看到支持的文档格式的完整列表。 该库不仅允许您处理 EML 文档,还可以处理许多其他类型的文档,例如 Word、Excel、PowerPoint、Outlook 电子邮件、Visio、Adobe、OpenDocument、OpenOffice、Photoshop、AutoCad 等。 GroupDocs.Annotation for Java API 允许您创建和添加新注释、编辑注释、提取注释、注释以及从文档中删除它们。该库支持 13 种不同的注释类型,包括文本、折线、区域、下划线、点、水印、箭头、椭圆、文本替换、距离、文本字段、PDF、HTML、Microsoft Word 文档、电子表格、图表、演示文稿中的资源编辑,绘图、图像和许多其他文件格式。 该示例(请参见下文)演示了如何使用 EML 文档,在此示例中您可以看到如何使用 GroupDocs 的主要步骤。注释:设置许可证、打开要使用的文档、创建注释,根据需要添加数据对象设置注释属性,并将结果保存到需要的地方。您还可以在我们的 github 页面 或我们的产品 文档。
GroupDocs.Annotation 通过实施几个简单的步骤,Java 开发人员可以轻松地将各种注释类型添加到任何基于 Java 的应用程序中的 EML 文件。
所有主要平台和操作系统都支持 Java API 的 GroupDocs.Annotation。在执行下面的代码之前,请确保您的系统上安装了以下先决条件。
// Create an instance of Reply class and add comments
Reply firstReply = new Reply();
firstReply.setComment("First comment");
firstReply.setRepliedOn(Calendar.getInstance().getTime());
Reply secondReply = new Reply();
secondReply.setComment("Second comment");
secondReply.setRepliedOn(Calendar.getInstance().getTime());
List<Reply> replies = new ArrayList<Reply>();
replies.add(firstReply);
replies.add(secondReply);
// Create an instance of AreaAnnotation class and set options
AreaAnnotation area = new AreaAnnotation();
area.setBackgroundColor(65535);
area.setBox(new Rectangle(100, 100, 100, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("This is area annotation");
area.setOpacity(0.7);
area.setPageNumber(0);
area.setPenColor(65535);
area.setPenStyle(PenStyle.Dot);
area.setPenWidth((byte) 3);
area.setReplies(replies);
// Create an instance of Annotator class
Annotator annotator = new Annotator("input.bmp");
// Add annotation
annotator.add(area);
// Save to file
annotator.save("output.bmp");
annotator.dispose();
GroupDocs.Annotation 通过实施几个简单的步骤,Java 开发人员可以更轻松地从任何基于 Java 的应用程序中的 EML 文件中删除注释详细信息。
// Create an instance of Annotator class
Annotator annotator = new Annotator("C://input.bmp");
// Remove annotation by set type None
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// Save annotation to output file
annotator.save("C://output.bmp", saveOptions);
annotator.dispose();
GroupDocs.Annotation 通过实施几个简单的步骤,Java 开发人员可以更轻松地从任何基于 Java 的应用程序中的 EML 文件更新各种注释属性。
String outputPath = "UpdateAnnotation.bmp";
// Create an instance of Annotator class
Annotator annotator = new Annotator("input.bmp");
// Create an instance of Reply class for first example and add comments
Reply reply1 = new Reply();
reply1.setComment("Original first comment");
reply1.setRepliedOn(Calendar.getInstance().getTime());
Reply reply2 = new Reply();
reply2.setComment("Original second comment");
reply2.setRepliedOn(Calendar.getInstance().getTime());
java.util.List replies = new ArrayList();
replies.add(reply1);
replies.add(reply2);
// Create an instance of AreaAnnotation class and set options
AreaAnnotation original = new AreaAnnotation();
original.setId(1);
original.setBackgroundColor(65535);
original.setBox(new Rectangle(100, 100, 100, 100));
original.setCreatedOn(Calendar.getInstance().getTime());
original.setMessage("This is original annotation");
original.setReplies(replies);
// Add original annotation
annotator.add(original);
annotator.save(outputPath);
annotator.dispose();
LoadOptions loadOptions = new LoadOptions();
// Open annotated document
Annotator annotator1 = new Annotator(outputPath, loadOptions);
// Create an instance of Reply class for update first example
Reply reply3 = new Reply();
reply3.setComment("Updated first comment");
reply3.setRepliedOn(Calendar.getInstance().getTime());
Reply reply4 = new Reply();
reply4.setComment("Updated second comment");
reply4.setRepliedOn(Calendar.getInstance().getTime());
java.util.List replies1 = new ArrayList();
replies1.add(reply3);
replies1.add(reply4);
// Suggest we want change some properties of existed annotation
AreaAnnotation updated = new AreaAnnotation();
updated.setId(1);
updated.setBackgroundColor(255);
updated.setBox(new Rectangle(0, 0, 50, 200));
updated.setCreatedOn(Calendar.getInstance().getTime());
updated.setMessage("This is updated annotation");
updated.setReplies(replies1);
// Update and save annotation
annotator1.update(updated);
annotator1.save(outputPath);
annotator1.dispose();
GroupDocs.Annotation 通过实施几个简单的步骤,Java 开发人员可以轻松地对文档进行注释并从任何基于 Java 的应用程序中的 EML 文件中提取注释信息。
// For using this example input file ("annotated.bmp") must be with annotations
LoadOptions loadOptions = new LoadOptions();
// Create an instance of Annotator class and get annotations
final Annotator annotator = new Annotator("annotated.bmp", loadOptions);
List annotations = annotator.get();
立即访问 GroupDocs.Annotation 现场演示 网站,向 EML 文件添加、删除、编辑和提取注释。 现场演示有以下好处
无需下载 API
无需编写任何代码
只需上传源文件
获取下载链接以保存文件
EML 文件格式代表使用 Outlook 和其他相关应用程序保存的电子邮件。几乎所有电子邮件客户端都支持此文件格式,因为它符合 RFC-822 Internet 消息格式标准。 Microsoft Outlook 是打开 EML 消息类型的默认软件。 EML 文件可用于保存到光盘以及使用通信协议发送给收件人。
阅读更多 关于 EML 文件格式更新一些流行文件格式的注释属性,如下所述。
(Adobe Portable Document Format)
(Microsoft Word Document)
(Microsoft Word Macro-Enabled Document)
(Microsoft Word Open XML Document)
(Microsoft Word Document Template)
(Word Open XML Document Template)
(Rich Text Document)
(Open Document Text)
(Microsoft Excel Binary File Format)
(Microsoft Excel Open XML Spreadsheet)
(Microsoft Excel Macro-Enabled Spreadsheet)
(Microsoft Excel Binary Worksheet)
(Open Document Spreadsheet)
(PowerPoint Presentation)
(PowerPoint Open XML Presentation)
(PowerPoint Open XML Slide Show)
(Microsoft PowerPoint Template)
(Microsoft PowerPoint Presentation)
(Microsoft PowerPoint 97-2003 Slide Show)
(OpenDocument Presentation)
(HyperText Markup Language)
(Tagged Image File Format)
(JPEG Image)
(Portable Network Graphic)
(E-mail Message)
(Microsoft Outlook E-mail Message)
(Microsoft Visio 2003-2010 Drawing)
(Microsoft Visio Drawing)
(Microsoft Visio 2003-2010 Stencil)
(Microsoft Visio 2013 Stencil)
(Autodesk Design Data Formats)
(AutoCAD Drawing Interchange)
(Digital Imaging and Communications in Medicine)
(Windows Metafile)
(Enhanced Metafile Format)