Report Generator for C#

.NET library to build highly customized reports using REST API

  • GroupDocs.Assembly Cloud SDK for cURL
  • GroupDocs.Assembly Cloud SDK for Java
  • GroupDocs.Assembly Cloud SDK for C++
  • GroupDocs.Assembly Cloud SDK for Go
  • GroupDocs.Assembly Cloud SDK for Node.js
  • GroupDocs.Assembly Cloud SDK for PHP
  • GroupDocs.Assembly Cloud SDK for Python
  • GroupDocs.Assembly Cloud SDK for Ruby
  • GroupDocs.Assembly Cloud SDK for Swift
Start Free Trial

GroupDocs.Assembly Cloud is a fully‑managed, REST‑based service that enables developers to generate richly formatted documents programmatically.

The service works with template files – Word, Excel, PowerPoint, HTML, PDF, or any of the supported OpenOffice formats – that contain special placeholder tags. At runtime, data from XML or JSON sources is bound to those placeholders using a LINQ‑style expression syntax, allowing you to inject simple values, tables, images, charts, bar‑codes, hyperlinks, and even conditional content. The cloud infrastructure handles all heavy lifting: parsing the template, performing calculations, rendering graphics and finally delivering the assembled document in the format you request (DOCX, PDF, HTML, PNG, etc.).

Because the API is platform‑agnostic, you can call it from any language that can issue HTTP requests. The .NET SDK wraps the REST calls in a native, object‑oriented API, hides authentication details and provides strongly‑typed request/response models.

Typical .NET workflow

  1. Install the SDK – add the NuGet package groupdocs.GroupDocs.Assembly-Cloud to your project.
  2. Configure credentials – create a Configuration object with your App SID and App Key (obtained from the GroupDocs Cloud dashboard).
  3. Upload the template – use UploadFile to place the template in GroupDocs Cloud Storage.
  4. Prepare the data source – read your XML or JSON file (e.g., invoice data) into a string.
  5. Set AssembleOptions – specify the output format, the data string, and the path to the uploaded template.
  6. Call AssembleDocument – the SDK sends a single request; the response contains the generated file stream.
  7. Save or stream the result – write the file to disk, send it to a client, or store it back in cloud storage.

The SDK is open‑source and maintained on GitHub: https://github.com/groupdocs-GroupDocs.Assembly-cloud/groupdocs-GroupDocs.Assembly-cloud-dotnet. It receives regular updates, includes comprehensive unit tests, and follows semantic versioning.

Security is built‑in: all traffic is encrypted with SSL/TLS, and access is protected by personal API keys. No additional software or third‑party components are required on the client side – the service runs entirely in the cloud, making it ideal for on‑premises, serverless, or desktop applications.

In short, GroupDocs.Assembly Cloud together with the .NET SDK gives you a scalable, low‑code solution for generating contracts, invoices, reports, proposals, mail‑merge letters and any other document‑heavy workflow directly from your C# code.

Document Assembly REST API Features

Create documents from templates with placeholders

LINQ‑style data binding for XML/JSON sources

Embed images, charts and external documents

Generate dynamic tables and lists from array data

Insert hyperlinks and bookmarks programmatically

Apply formulas and sequential data operations

Conditional content blocks (IF‑ELSE logic)

Reusable variables for expensive calculations

Create email body and attach generated files

Generate bar‑codes and QR codes

Set background colors for HTML output

Secure communication via SSL/TLS and API keys

Assemble a document with C#

The snippet demonstrates how to upload a template file, bind a data source and generate a document using the Assembly Cloud API.

Steps

  1. Configure the SDK with your App SID and App Key.
  2. Upload the template file to Cloud Storage.
  3. Prepare AssembleOptions – specify output format, data, and template path.
  4. Call AssembleDocument and receive the assembled file.
using GroupDocs.Assembly.Cloud.Sdk;

var config = new Configuration
{
    AppSid = "####-####-####-####-####",
    AppKey = "##################"
};
var assemblyApi = new AssemblyApi(config);

var fileName = "Input1.docx";
var dataFile = "Input2.docx";

// Upload template
var uploadRequest = new UploadFileRequest(File.OpenRead(fileName), fileName);
assemblyApi.UploadFile(uploadRequest);

// Assemble document
var assembleOptions = new AssembleOptions
{
    SaveFormat = "docx",
    ReportData = File.ReadAllText(dataFile),
    TemplateFileInfo = new TemplateFileInfo { FilePath = fileName }
};
var assembleRequest = new AssembleDocumentRequest(assembleOptions);
var assembledDocument = assemblyApi.AssembleDocument(assembleRequest);

Support and Learning Resources

GroupDocs.Assembly Cloud also offers individual SDKs for other platforms:

  English
5f5c5ef