Edit DOC in Go SDK

Use REST API to edit DOC in Go programmatically

When developers modify a DOC document with this Go library, what is actually being edited is the Document Object Model (DOM). Thus, almost any changes can be made to the DOC document represented as DOM. With the provided Go SDK, developers can easily edit a document: modify text, update tables, add images and so on. Just load a DOC, make the necessary changes programmatically and export the result to the same or any supported save format.

View code snippet

Edit DOC in Go using REST API

Our Go library gives developers the ability to modify a DOC document directly by editing its Document Object Model (DOM), which means no additional software needs to be installed.

Edit text in DOC file using Go

The most popular case to edit a DOC file is text editing. With the given software solution, you can add, modify or delete text using Go within the document.

Edit table in DOC file using Go

Another popular DOC editing option is table editing. Our Go SDK allows you to work with tables and text in table cells.

Go developers can add or remove table and table cells, as well as add, edit and remove text within them.

Add an image to DOC file using Go

Besides editing text and tables in DOC, there is another common option: adding images to a document in Go. Go developers can also add an image into a DOC file using DOM.

Edit DOC programmatically

Try this powerful Go SDK and evaluate some options in DOC document editing. Using the following example, load your DOC document and make some changes: add text, add a table and a table cell with text or insert an image into the DOC document:

Upload a document you want to modify
Run code
Upload an image you want insert
Select the target format from the list
import (
    "os"
    "github.com/aspose-words-cloud/aspose-words-cloud-go/dev/api/models"
)

config, _ := models.NewConfiguration("config.json")
wordsApi, ctx, _ := api.CreateWordsApi(config)

requestDocument, _ := os.Open("Input.doc")
requestParagraph := models.ParagraphInsert{
    Text: ToStringPointer("Morbi enim nunc faucibus a."),
}

insertParagraphOnlineOptions := map[string]interface{}{}
insertParagraphRequest := &models.InsertParagraphOnlineRequest{
    Document: requestDocument,
    Paragraph: &requestParagraph,
    Optionals: insertParagraphOnlineOptions,
}
insertParagraph := wordsApi.InsertParagraphOnline(ctx, insertParagraphRequest)

convertOptions := map[string]interface{}{}
convertRequest := &models.ConvertDocumentRequest{
    Document: insertParagraph.Document.Values[0],
    Format: ToStringPointer("doc"),
    Optionals: convertOptions,
}
convert := wordsApi.ConvertDocument(ctx, convertRequest)
import (
    "os"
    "github.com/aspose-words-cloud/aspose-words-cloud-go/dev/api/models"
)

config, _ := models.NewConfiguration("config.json")
wordsApi, ctx, _ := api.CreateWordsApi(config)

requestDocument, _ := os.Open("Input.doc")
requestTable := models.TableInsert{
    ColumnsCount: ToInt32Pointer(int32(1)),
    RowsCount: ToInt32Pointer(int32(2)),
}

insertTableOnlineOptions := map[string]interface{}{"nodePath": "",}
insertTableRequest := &models.InsertTableOnlineRequest{
    Document: requestDocument,
    Table: &requestTable,
    Optionals: insertTableOnlineOptions,
}
insertTable := wordsApi.InsertTableOnline(ctx, insertTableRequest)

convertOptions := map[string]interface{}{}
convertRequest := &models.ConvertDocumentRequest{
    Document: insertTable.Document.Values[0],
    Format: ToStringPointer("doc"),
    Optionals: convertOptions,
}
convert := wordsApi.ConvertDocument(ctx, convertRequest)
import (
    "os"
    "github.com/aspose-words-cloud/aspose-words-cloud-go/dev/api/models"
)

config, _ := models.NewConfiguration("config.json")
wordsApi, ctx, _ := api.CreateWordsApi(config)

requestDocument, _ := os.Open("Input1.doc")
requestDrawingObject := models.DrawingObjectInsert{
    Height: ToFloat64Pointer(0),
    Left: ToFloat64Pointer(0),
    Top: ToFloat64Pointer(0),
    Width: ToFloat64Pointer(0),
    RelativeHorizontalPosition: ToStringPointer("Margin"),
    RelativeVerticalPosition: ToStringPointer("Margin"),
    WrapType: ToStringPointer("Inline"),
}

requestImageFile, _ := os.Open("Input2.doc")
insertDrawingObjectOnlineOptions := map[string]interface{}{"nodePath": "sections/0",}
insertDrawingObjectRequest := &models.InsertDrawingObjectOnlineRequest{
    Document: requestDocument,
    DrawingObject: &requestDrawingObject,
    ImageFile: requestImageFile,
    Optionals: insertDrawingObjectOnlineOptions,
}
insertDrawingObject := wordsApi.InsertDrawingObjectOnline(ctx, insertDrawingObjectRequest)

convertOptions := map[string]interface{}{}
convertRequest := &models.ConvertDocumentRequest{
    Document: insertDrawingObject.Document.Values[0],
    Format: ToStringPointer("doc"),
    Optionals: convertOptions,
}
convert := wordsApi.ConvertDocument(ctx, convertRequest)
Run code
  
Copy Go code to the clipboard

How to edit DOC Go REST API

  1. Install Aspose.Words Cloud for Go
  2. Add a library reference (import the library) to your Go project
  3. Load DOC to edit in Go
  4. Insert content at the beginning of DOC
  5. Download the result document from the cloud storage

Go library to use DOC editing

Run go get -v github.com/aspose-words-cloud/aspose-words-cloud-go/2007/api to install Aspose.Words Cloud SDK for Go. You can get a lot of useful information about other installation methods from the "How to use SDK" section.

Clone Aspose.Words Cloud SDK for Go source code from GitHub and use it in your project. Please follow these Instructions to quickly get the necessary security credentials and access our REST API.

System Requirements

Refer to the Repository Documentation to see the details.

Other supported file formats

You can perform edit operation for other file formats:

5%

Subscribe to Aspose Product Updates

Get monthly newsletters and offers directly delivered to your mailbox.

© Aspose Pty Ltd 2001-2024. All Rights Reserved.