Add a watermark to PDF or Word files or remove previously added watermarks using Go

With this Go library, developers can add an image or text watermark over PDF or Word document, as well as remove an already added watermark in seconds

Protect your documents from unauthorized distribution and add the watermark online. To do this, just load a PDF, Word or other document format and add a text or image watermark using Go. Then save the watermarked PDF or Word document in a convenient format such as DOC, DOCX, PDF, HTML, RTF, XPS and others. You can also remove the watermark from documents to make them easier to process unless it violates anyone's rights.

View code snippet

Add watermark in Go

With this Go API, developers can add a watermark to PDF, Word, or other documents online. You can create the watermark using text or an image and then insert that watermark into your PDF or Word document by setting the overlay angle in Go.

Note: there is no need to install any third party applications or libraries. Therefore, our Go software solution is very easy to use.

Remove watermark in Go

The given Go SDK is also helpful to remove watermarks. For example, removing a watermark in Word means that you can load the desired Word document stamped with a text or image watermark, remove this watermark from the document using Go, and then save the output file in a convenient format.

Watermark in Word or PDF

To evaluate our Go API, load the document to which you want to add a watermark and the watermark as an image or text. Then select a convenient export file format – DOCX, PDF, MD, HTML, TXT, DOC, RTF, EPUB, XPS and others.

Use the following example to see how it works:

File needs to add watermarks
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("Input1.docx")
requestImageStream, _ := os.Open("Input2.jpg")
requestWatermarkDataImage := models.CreateLocalFileReference(requestImageStream)
requestWatermarkData := models.WatermarkDataImage{
    Image: &requestWatermarkDataImage
}
insertWatermarkOptions := map[string]interface{}{}
insertWatermarkRequest := &models.InsertWatermarkOnlineRequest{
    Document: requestDocument,
    WatermarkData: &requestWatermarkData,
    Optionals: insertWatermarkOptions
}
insertWatermarkResult, _, _ = wordsApi.InsertWatermarkOnline(ctx, insertWatermarkRequest)

convertDocumentOptions := map[string]interface{}{}
convertRequest := &models.ConvertDocumentRequest{
    Document: insertWatermarkResult.Document.Values[0],
    Format: ToStringPointer("docx"),
    Optionals: convertDocumentOptions
}
_, _ = 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.docx")
requestWatermarkData := models.WatermarkDataText{
    Text: ToStringPointer("This is the watermark text"),
    Layout: ToStringPointer("Diagonal")
}
insertWatermarkOptions := map[string]interface{}{}
insertWatermarkRequest := &models.InsertWatermarkOnlineRequest{
    Document: requestDocument,
    WatermarkData: &requestWatermarkData,
    Optionals: insertWatermarkOptions
}
insertWatermarkResult, _, _ = wordsApi.InsertWatermarkOnline(ctx, insertWatermarkRequest)

convertDocumentOptions := map[string]interface{}{}
convertRequest := &models.ConvertDocumentRequest{
    Document: insertWatermarkResult.Document.Values[0],
    Format: ToStringPointer("docx"),
    Optionals: convertDocumentOptions
}
_, _ = 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.docx")
deleteWatermarkOnlineOptions := map[string]interface{}{}
deleteWatermarkOnline := &models.DeleteWatermarkOnlineRequest{
    Document: requestDocument,
    Optionals: deleteWatermarkOnlineOptions,
}
deletedWatermark = wordsApi.DeleteWatermarkOnline(ctx, deleteWatermarkOnline)

convertDocumentOptions := map[string]interface{}{}
convertDocument := &models.ConvertDocumentRequest{
    Document: deletedWatermark.Document.Values[0],
    Format: ToStringPointer("docx"),
    Optionals: convertDocumentOptions,
}
_, _ = wordsApi.ConvertDocument(ctx, convertDocument)
Run code
  
Copy Go code to the clipboard

How to remove watermark in Go

  1. Install Aspose.Words Cloud for Go
  2. Add a library reference (import the library) to your Go project
  3. Configure API using your app keys
  4. Load a document you want to remove the watermark from
  5. Create a request to remove the watermark
  6. Save the result to a convenient file format

Go library to use watermarks

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.

Most popular document formats for adding a watermark

5%

Subscribe to Aspose Product Updates

Get monthly newsletters and offers directly delivered to your mailbox.

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