Microsoft Word cung cấp cho bạn khả năng thêm nhận xét vào tài liệu Word. Nhận xét có thể hữu ích trong các trường hợp như đề xuất cải tiến tài liệu hoặc chia sẻ suy nghĩ về văn bản. Có thể có những tình huống mà bạn cần quản lý nhận xét theo chương trình. Để kết thúc, bài viết này sẽ hướng dẫn bạn cách làm việc với chú thích trong tài liệu Word bằng C ++.

API C ++ để làm việc với nhận xét trong tài liệu Word

Aspose.Words for C ++ là một thư viện C ++ gốc cho phép bạn tạo, đọc, sửa đổi và chuyển đổi các tài liệu Microsoft Word. Ngoài ra, nó cũng hỗ trợ làm việc với các bình luận trong tệp DOCXDOC. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.Words.Cpp

Thêm nhận xét vào tài liệu Word bằng C ++

API Aspose. AdWords dành cho C ++ cung cấp khả năng thêm nhận xét với tên tác giả, tên viết tắt và ngày / giờ. Sau đây là các bước để thêm chú thích vào tài liệu Word.

Đoạn mã mẫu sau đây trình bày cách thêm chú thích vào tài liệu Word bằng C ++.

// Đường dẫn thư mục.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Tải tệp Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"Sample 1.docx");

// Tạo một phiên bản của lớp DocumentBuilder
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);

// Thêm bình luận
System::SharedPtr<Comment> comment = System::MakeObject<Comment>(doc, u"Aspose", u"AFFA", System::DateTime::get_Today());
builder->get_CurrentParagraph()->AppendChild(comment);
comment->get_Paragraphs()->Add(System::MakeObject<Paragraph>(doc));
comment->get_FirstParagraph()->get_Runs()->Add(System::MakeObject<Run>(doc, u"Comment text."));

// Lưu tài liệu.
doc->Save(outputDataDir + u"AddCommentsToExistingDoc.docx");

Sau đây là hình ảnh của đầu ra được tạo ra bởi mã mẫu.

Hình ảnh đầu ra được tạo bởi mã mẫu

Đọc nhận xét từ tài liệu Word

Sau đây là các bước để đọc nhận xét từ tài liệu Word.

Sau đây là mã mẫu để đọc nhận xét từ tài liệu Word bằng C ++.

// Đường dẫn thư mục.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Tải tệp Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Lấy bình luận
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Lặp lại tất cả các nhận xét
for (System::SharedPtr<Comment> comment : System::IterateOver<System::SharedPtr<Comment>>(comments))
{
	// In thông tin bình luận
	std::cout << comment->get_Author() + u" " + comment->get_DateTime() + u" " + System::StaticCast<Node>(comment)->ToString(SaveFormat::Text);
}

Sửa đổi chú thích trong tài liệu Word bằng C ++

Để sửa đổi một nhận xét, hãy truy xuất nhận xét đó bằng phương thức NodeCollection-> idxget (int32t index) và thay đổi nó theo nhu cầu của bạn. Sau đây là các bước để sửa đổi chú thích trong tài liệu Word.

Đoạn mã mẫu sau đây cho biết cách sửa đổi chú thích trong tài liệu Word bằng C ++.

// Đường dẫn thư mục.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Tải tệp Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Lấy bình luận
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Nhận bình luận
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(0));

// Cập nhật văn bản nhận xét
comment->SetText(u"Updated Text");

// Lưu tài liệu.
doc->Save(outputDataDir + u"UpdatedComment.docx");

Xóa nhận xét khỏi tài liệu Word bằng C ++

API Aspose. AdWords dành cho C ++ cung cấp nhiều cách để xóa nhận xét khỏi tài liệu Word. Trong phần này, bạn sẽ học cách xóa một nhận xét cụ thể, nhận xét của tác giả và tất cả các nhận xét bằng C ++.

Xóa một nhận xét cụ thể

Sau đây là các bước để xóa một bình luận cụ thể.

Đoạn mã mẫu sau đây cho biết cách xóa nhận xét cụ thể khỏi tài liệu Word bằng C ++.

// Đường dẫn thư mục.
System::String sourceDataDir = u"D:\\Work\\Aspose\\01_SourceDirectory\\";
System::String outputDataDir = u"D:\\Work\\Aspose\\02_OutputDirectory\\";

// Tải tệp Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Lấy bình luận
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Nhận bình luận
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(2));

// Xóa bình luận
comment->Remove();

// Lưu tài liệu.
doc->Save(outputDataDir + u"DeleteSpecificComments.docx");

Xóa nhận xét của tác giả

Sau đây là các bước để xóa bình luận của tác giả.

Sau đây là mã mẫu để xóa bình luận của tác giả bằng C ++.

// Đường dẫn thư mục.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Tải tệp Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Lấy bình luận
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Lặp lại tất cả các nhận xét và xóa những nhận xét được viết bởi tác giả "Aspose".
for (int32_t i = comments->get_Count() - 1; i >= 0; i--)
{
	System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(i));
	if (comment->get_Author() == u"Aspose")
	{
		comment->Remove();
	}
}

// Lưu tài liệu.
doc->Save(outputDataDir + u"DeleteCommentsByAuthor.docx");

Xóa tất cả nhận xét

Thay vì xóa các nhận xét riêng lẻ, bạn có thể xóa tất cả các nhận xét cùng một lúc bằng phương pháp NodeCollection-> Clear(). Sau đây là các bước để xóa tất cả nhận xét khỏi tài liệu Word.

Đoạn mã mẫu sau đây trình bày cách xóa tất cả nhận xét khỏi tài liệu Word bằng C ++.

// Đường dẫn thư mục.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Tải tệp Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");

// Lấy bình luận
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);

// Xóa tất cả các bình luận.
comments->Clear();

// Lưu tài liệu.
doc->Save(outputDataDir + u"DeleteAllComments.docx");

Nhận giấy phép miễn phí

Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách làm việc với chú thích trong tài liệu Word bằng C ++. Cụ thể, bạn đã học cách thêm, đọc, chỉnh sửa và xóa nhận xét. Hơn nữa, bạn đã thấy cách xóa một nhận xét cụ thể, nhận xét của tác giả và tất cả các nhận xét bằng cách sử dụng API Aspose.Words cho C ++. API cung cấp một số lượng lớn các tính năng bổ sung để tự động hóa các tác vụ liên quan đến Word của bạn. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm