When developers modify a PDF 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 PDF 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 PDF, make the necessary changes programmatically and export the result to the same or any supported save format.
Our Go library gives developers the ability to modify a PDF document directly by editing its Document Object Model (DOM), which means no additional software needs to be installed.
The most popular case to edit a PDF file is text editing. With the given software solution, you can add, modify or delete text using Go within the document.
Another popular PDF 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.
Besides editing text and tables in PDF, there is another common option: adding images to a document in Go. Go developers can also add an image into a PDF file using DOM.
Try this powerful Go SDK and evaluate some options in PDF document editing. Using the following example, load your PDF document and make some changes: add text, add a table and a table cell with text or insert an image into the PDF document:
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.pdf")
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("pdf"),
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.pdf")
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("pdf"),
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.pdf")
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.pdf")
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("pdf"),
Optionals: convertOptions,
}
convert := wordsApi.ConvertDocument(ctx, convertRequest)
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.
Refer to the Repository Documentation to see the details.