在 C++ SDK 中编辑 Word 或 PDF 文件

使用 REST API 以编程方式编辑 C++ 中的文件

当开发人员使用给定的 C++ 解决方案修改文档时,实际编辑的是文档对象模型 (DOM)。因此,几乎可以对表示为 DOM 的文档进行任何更改。使用提供的 C++ SDK,开发人员可以轻松地编辑文档:修改文本、更新表格、添加图像等。只需以支持的加载格式加载您的 Word、PDF 或文件,以编程方式进行必要的更改并将结果导出为支持的保存格式。

查看代码片段

使用 REST API 在 C++ 中编辑文档

我们的 C++ 库使开发人员能够通过编辑文档对象模型 (DOM) 直接修改文档,这意味着无需安装其他软件。

重要的是要知道,使用这个 C++ 解决方案,您可以编辑任何受支持格式的文档。例如,可以加载 PDF、DOCX、DOC、RTF、ODT、EPUB、HTML 等格式的文件,然后修改此文件并以相同格式或任何其他支持的格式保存。

在 C++ 中编辑文本

编辑 Word、PDF 或任何其他文档的最流行案例是文本编辑。使用给定的软件解决方案,您可以使用 C++ 在文档中添加、修改或删除文本。

在 C++ 中编辑表

另一个流行的文档编辑选项是表格编辑。我们的 C++ SDK 允许您在表格单元格中处理表格和文本。

C++ 开发人员可以添加或删除表格和表格单元格,以及在其中添加、编辑和删除文本。

使用 C++ 将图像添加到文档

除了编辑文本和表格之外,还有另一个常见的选项:在 C++ 中将图像添加到文档中。 C++ 开发人员还可以使用 DOM 将图像添加到文件中。

在线编辑文档

试试这个强大的 C++ SDK 并评估文档编辑中的一些选项。使用以下示例,加载您的文档并进行一些更改:添加文本、添加表格和带有文本的表格单元格或在文档中插入图像:

上传要修改的文档
运行代码
上传要插入的图片
从列表中选择目标格式
using namespace aspose::words::cloud;

auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####", 
   L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);

auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
   std::filesystem::path(L"Input.docx"), std::istream::binary));
auto requestParagraph = std::make_shared<aspose::words::cloud::models::ParagraphInsert>();
requestParagraph->setText(std::make_shared<std::wstring>(L"Morbi enim nunc faucibus a."));

std::shared_ptr<requests::InsertParagraphOnlineRequest> insertParagraphRequest(
    new requests::InsertParagraphOnlineRequest(
        requestDocument, requestParagraph
    )
);
auto insertParagraph = wordsApi->insertParagraphOnline(insertParagraphRequest);

std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
    new requests::ConvertDocumentRequest(
        insertParagraph->document->values.begin,
          std::make_shared<std::wstring>(L"docx")
    )
);
auto convert = wordsApi->convertDocument(convertRequest);
using namespace aspose::words::cloud;

auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####", 
   L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);

auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
   std::filesystem::path(L"Input.docx"), std::istream::binary));
auto requestTable = std::make_shared<aspose::words::cloud::models::TableInsert>();
requestTable->setColumnsCount(std::make_shared<int32_t>(1));
requestTable->setRowsCount(std::make_shared<int32_t>(2));

std::shared_ptr<requests::InsertTableOnlineRequest> insertTableRequest(
    new requests::InsertTableOnlineRequest(
        requestDocument, requestTable, std::make_shared<std::wstring>(L"")
    )
);
auto insertTable = wordsApi->insertTableOnline(insertTableRequest);

std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
    new requests::ConvertDocumentRequest(
        insertTable->document->values.begin,
          std::make_shared<std::wstring>(L"docx")
    )
);
auto convert = wordsApi->convertDocument(convertRequest);
using namespace aspose::words::cloud;

auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####", 
   L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);

auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
   std::filesystem::path(L"Input1.docx"), std::istream::binary));

auto requestDrawingObject = 
   std::make_shared<aspose::words::cloud::models::DrawingObjectInsert>();
requestDrawingObject->setHeight(std::make_shared<double>(0));
requestDrawingObject->setLeft(std::make_shared<double>(0));
requestDrawingObject->setTop(std::make_shared<double>(0));
requestDrawingObject->setWidth(std::make_shared<double>(0));
requestDrawingObject->setRelativeHorizontalPosition(
   std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::RelativeHorizontalPosition>(
      aspose::words::cloud::models::DrawingObjectInsert::RelativeHorizontalPosition::MARGIN));
requestDrawingObject->setRelativeVerticalPosition(
   std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::RelativeVerticalPosition>(
      aspose::words::cloud::models::DrawingObjectInsert::RelativeVerticalPosition::MARGIN));
requestDrawingObject->setWrapType(
   std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::WrapType>(
      aspose::words::cloud::models::DrawingObjectInsert::WrapType::INLINE));

auto requestImageFile = std::shared_ptr<std::istream>(new std::ifstream(
   std::filesystem::path(L"Input2.docx"), std::istream::binary));
std::shared_ptr<requests::InsertDrawingObjectOnlineRequest> insertDrawingObjectRequest(
    new requests::InsertDrawingObjectOnlineRequest(
        requestDocument, requestDrawingObject, requestImageFile, 
		   std::make_shared<std::wstring>(L"sections/0")
    )
);
auto insertDrawingObject = wordsApi->insertDrawingObjectOnline(insertDrawingObjectRequest);

std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
    new requests::ConvertDocumentRequest(
        insertDrawingObject->document->values.begin,
          std::make_shared<std::wstring>(L"docx")
    )
);
auto convert = wordsApi->convertDocument(convertRequest);
运行代码
  
将代码C++复制到剪贴板

如何在 C++ 中编辑文件

  1. 为 C++ 安装"Aspose.Words Cloud"
  2. 将库引用(导入库)添加到您的 C++ 项目
  3. 在 C++ 中加载要编辑的文档
  4. 在文档开头插入内容
  5. 从云存储下载结果文档

C++ 库使用文档编辑

从 GitHub 克隆 Aspose.Words Cloud SDK for C++ 源代码。您可以在 "How to use the SDK" 部分找到有关构建和配置 SDK 的详细信息。

要快速获取必要的安全凭证并访问我们的 REST API,请按照文档中的这些 Instructions 进行操作。

系统要求

请参阅 Repository Documentation 以查看详细信息。

5%

订阅 Aspose 产品更新

获取直接发送到您的邮箱的每月通讯和优惠。

© Aspose Pty Ltd 2001-2024. 版权所有。