Load document from Azure Blob Storage

Following example demonstrates how to annotate document from Azure Blob Storage.

string blobName = "sample.pdf";
using (Annotator annotator = new Annotator(DownloadFile(blobName)))
{
	AreaAnnotation area = new AreaAnnotation()
	{
		Box = new Rectangle(100, 100, 100, 100),
		BackgroundColor = 65535,
	};
	annotator.Add(area);
	annotator.Save("result.pdf");
}

public static Stream DownloadFile(string blobName)
{
	CloudBlobContainer container = GetContainer();
	CloudBlob blob = container.GetBlobReference(blobName);
	MemoryStream memoryStream = new MemoryStream();
	blob.DownloadToStream(memoryStream);
	memoryStream.Position = 0;
	return memoryStream;
}

private static CloudBlobContainer GetContainer()
{
	string accountName = "***";
	string accountKey = "***";
	string endpoint = $"https://{accountName}.blob.core.windows.net/";
	string containerName = "***";
	StorageCredentials storageCredentials = new StorageCredentials(accountName, accountKey);
	CloudStorageAccount cloudStorageAccount = new CloudStorageAccount(
		storageCredentials, new Uri(endpoint), null, null, null);
	CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
	CloudBlobContainer container = cloudBlobClient.GetContainerReference(containerName);
	container.CreateIfNotExists();
	return container;
}

More resources

GitHub Examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free Online App

Along with full-featured .NET library we provide simple but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online GroupDocs Annotation App.