ReportingCloud Developer Blog

Visit Text Control at BASTA! 2017

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Friday, September 22 2017

The first BASTA! conference was back in 1997 - that is 20 years ago. Next week at BASTA! 2017 in Mainz, this will be celebrated at the BASTA! anniversary edition.

BASTA! Conference

In 130+ workshops, sessions and keynotes, 80+ international speakers and experts present latest insights in topics such as microservices, data access, JavaScript and .NET Core.

We will be exhibiting at this conference to present our latest beta versions of TX Text Control X15 and TX Spell .NET 7.0. This is the first time we are giving demos of our new features including thesaurus, mini toolbar, chart ribbon layout tab and background images.

We will also show our latest features of ReportingCloud and the .NET Core version of the RESTful reporting Web API. If you never used ReportingCloud before, this is a very good opportunity to learn more about cloud based document generation and reporting.

If you are attending this conference, stop by our booth and ask for a demo of TX Text Control X15 - we really look forward to seeing you.


Announcing the Relaunch of our Website

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Thursday, September 21 2017

We are very excited to announce that our new and refreshed website is live. The updated website includes changes to navigation, structure and mobile and desktop versions.

Product Resources

When we started this huge project over a year ago, we had one major goal in mind: To provide the user a real value. With this goal in mind, we changed the structure of our website in order to group all available information by products. For example, if you want to download a service pack or would like to learn more about what has been fixed within a service pack, you select your product first. In this product section, you will find now all available information and resources for this product.

Product Downloads

When opening the Downloads section, you will find all resources for the specific product such as service packs, trials versions and known issues.

Product Resources

The known issues have been extended to display acknowledged open issues as well. This list is directly generated from our internal bug tracking system YouTrack.

Product Known Issues

In the same product section, you will find a link to our new Online Help which gives an overview of all classes and includes tutorials and sample program descriptions.

Online Help

We hope you will enjoy our new website. Let us know, if you find any glitches, problems or simply leave us a comment.


ReportingCloud: Sample Template Gallery Launched

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Friday, September 22 2017

We just launched a sample template gallery as part of the ReportingCloud portal. This gallery should help you to understand the supported reporting features in templates.

ReportingCloud: Sample template gallery launched

The uploaded templates are tagged and can be filtered by these tags. When opening details of the template, a description and an animated preview of the merge process is shown.

ReportingCloud: Sample template gallery launched

Using the button Add to My Templates, you can add this sample template directly to your template storage. The sample data source will be copied and linked to this sample template automatically.

Test this on your own and register for a ReportingCloud trial account today.


The End of Monolithic Applications? Outsource Your Document Generation and Reporting Needs with ReportingCloud Microservices

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Wednesday, September 13 2017

The end of monolithic applications? Outsource your document generation and reporting needs with ReportingCloud microservices

Matt Riley, CEO & Co-founder of Swiftype, says this year that "a decade from now, every business will be operating primarily from the cloud". That means that organizations will use a combination of cloud based software products and on premises compute to create a hybrid IT solution environment.

Mainframes and centralized compute power has been replaced by public hyperscale clouds like Amazon AWS and Microsoft Azure. The idea is the same, but the architecture and structure is different.

During the next years, it is predicted that more than 25% of all applications are accessible via the cloud. Web services are used to encapsulate very specific business functionalities. Developers use web services to outsource specific tasks independent from the device, platform or language. The advantage of using centralized services is that these services can be accessed from any application and platform in the same, standardized way using the same interface.

If specific functionality of a monolithic application needs to be scaled, probably the complete application must be scaled instead of only specific components. Microservices solve this issue by breaking down tasks into multiple components. These services can be deployed, improved and fixed independently. As a result, only components can be redeployed or replaced.

As a software component vendor, we focus on developing APIs, libraries and components. Our focus is always the API first and then the UI. Developers use our libraries to solve a specific need in their applications: Creating documents. Microservices replace the traditional library in this case and are deployed and maintained by third parties. Microservices act somewhat like a UNIX program: It solves a very specific problem by receiving a request, processing it and generating a response.

Using the Web API ReportingCloud, MS Word compatible templates can be merged with JSON data to generate documents in industry standard formats such as DOC, DOCX and Adobe PDF.

The high performance Web API is accessible from any application and platform. And this is just the beginning. ReportingCloud is a reporting platform for all types of tasks. We just rolled out our spell checking technology as endpoints to ReportingCloud to enable cloud-based spell checking in any application.

If you are thinking about converting classic applications to cloud-based applications, our engineers can help with best practices and strategies for a successful migration.


ReportingCloud .NET Core Wrapper Released: Creating Documents on Windows, Linux, Mac and Docker

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Wednesday, September 13 2017

.NET Core logo We just released a .NET Core version of the Text Control ReportingCloud .NET wrapper. .NET Core is the cross-platform, free and open-source managed software framework to create applications running on Windows, macOS and Linux. .NET Core is compatible with the .NET Framework, Xamarin and Mono, via the .NET Standard Library.

Using this new version, you can create .NET Core applications and deploy them to Linux servers. The name of the NuGet package is TXTextControl.ReportingCloud.Core and can be installed using the following Package Manager command:

PM> Install-Package TXTextControl.ReportingCloud.Core

We decided to separate the new project and NuGet package for the .NET Core version from the classic .NET version, because of a small difference between the wrapper interfaces. .NET Core doesn't come with a built-in replacement for System.Drawing and there are several replacements in the works. There is CoreCompat.System.Drawing which is a direct port of the Mono implementation of System.Drawing, but it requires GDI+. There are several other implementations, but they are in beta or pre-release phase.

Until there is a standard implementation for image processing in .NET Core, the method GetTemplateThumbnails will return a string array of Base64 encoded images instead of a .NET object.

Creating Your First .NET Core Application with ReportingCloud

  1. Create a ReportingCloud account to retrieve your credentials.

  2. In Visual Studio 2017, select .NET Core as the project template and choose Console App (.NET Core) from the available templates.

    Text Control
  3. Click NuGet Package Manager -> Manage NuGet Packages for Solution... from the Tools main menu. Click on Browse and search for ReportingCloud. Select TXTextControl.ReportingCloud.Core:

    Text Control

    Select your project, choose the latest version and confirm with Install (confirm the opened license agreements of the included dependencies):

    Text Control
  4. Open the Program.cs and paste the following code into it:

    Loading...

    Replace username and password with your ReportingCloud credentials.

On executing, it returns the template names stored in your template storage.


Proofing Tools Available As ReportingCloud Web API Endpoints

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Wednesday, September 13 2017

We just rolled out 3 new ReportingCloud endpoints to integrate proofing functionality into your applications. The ReportingCloud template editor already provides 50+ different dictionaries for spell checking. This functionality is now available as a web service endpoint and can be used independently from merging documents.

Proofing Check Method

https://api.reporting.cloud/v1/proofing/check

The proofing/check method checks text for spelling errors. As query parameters, it accepts text that specifies the text to spell check and language which defines the language (see AvailableDictionaries method) that is used to spell check the specified text.

Query Parameter Value Type Value
text String Specifies the text to spell check.
language String The language that is used to spell check the specified text.

The following CURL call checks text for the language "US English":

Loading...

ReportingCloud returns an array of IncorrectWord objects:

Loading...

This object contains the text, the start index position, length and language information. The isDuplicate property indicates whether a word is a duplicate in the checked text.

IncorrectWord Object

Key Value Type Value Description
length Integer Gets the length of the spelled word.
start Integer Gets the starting position of a spelled word.
text String Gets the text of the spelled word.
isDuplicate Boolean Gets a value indicating whether the spelled word is declared as incorrect, because the previous word has the same text.
language String Gets a value indicating the language the incorrect word was spelled.

Proofing AvailableDictionaries Method

https://api.reporting.cloud/v1/proofing/availabledictionaries

This method returns all available dictionary names. These names can be used in the Check method to define the spell checking language.

Proofing Suggestions Method

https://api.reporting.cloud/v1/proofing/suggestions

This endpoint returns suggestions for a misspelled word. The query parameters must contain the word for which the suggestions should be created for, the language (see AvailableDictionaries method) and the maximum number of suggestions:

Query Parameter Value Type Value
word String Specifies the incorrect word that has to be determined for suggestions.
language String The language that is used to spell check the specified text.
max String Specifies the maximum number of suggestions that has to be determined.

The following CURL call returns 10 suggestions for the word "Thiss":

Loading...
Loading...

Test this on your own and create a ReportingCloud trial account today.

Happy coding!


All Google Fonts Now Available in ReportingCloud

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Wednesday, September 13 2017

Making the web more beautiful, fast, and open through great typography.

Google Fonts

This is the motto of Google Fonts. The advantage of ReportingCloud is a consistent rendering of documents. What you see in the ReportingCloud template editor is exactly what you get when merging a document using the Web API.

We just rolled out all 2000+ Google Fonts to our ReportingCloud servers. From now on, you can use these fonts in your templates and create your documents with this enormous selection of beautiful fonts.

The endpoint fonts/list returns the available fonts that can be used in your ReportingCloud templates:

https://api.reporting.cloud/v1/fonts/list

When creating templates in the ReportingCloud editor, all fonts are listed in the font drop-down in the Home ribbon tab:

All Google Fonts now available in ReportingCloud

Test this on your own and create a ReportingCloud trial account today.

Happy coding!


New ReportingCloud MergeSettings Option: Merge HTML Content into Merge Fields

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Monday, September 04 2017

One of the most requested features for ReportingCloud is a way to merge formatted content into merge fields. We have added this feature to the API and rolled it out last weekend.

The MergeSettings object used in the Merge method received the new property mergeHtml that specifies whether field data can contain formatted HTML content or not.

If this property is set to true, field data can contain simple HTML formatting such as <strong>, <em> and <u>. The complete field data string must be enclosed in an <html> tag element:

Loading...

In most cases, this feature has been requested to merge formatted comments into templates. Consider the following sample template:

New ReportingCloud MergeSettings option: Merge HTML content into merge fields

The following code uses the ReportingCloud .NET Wrapper which is available as a NuGet package:

Loading...

The screenshot below shows the formatted HTML that has been merged into the merge field:

New ReportingCloud MergeSettings option: Merge HTML content into merge fields

The initial font name, font-size, color and font background color will be maintained on updating the text during the merge process.

Test this on your own and create a ReportingCloud trial account today.

Happy coding!


AutoCorrect Using TX Text Control and TX Spell .NET

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Monday, September 04 2017

AutoCorrect can be very annoying on a smartphone - we all know this. But if you are used to it and then start typing on a computer keyboard, you are missing this time saving feature.

AutoCorrect using TX Text Control and TX Spell .NET

TX Spell .NET provides a very powerful spell checking and suggestion engine that can be used to implement AutoCorrect with a few lines of code:

Loading...

Based on the analysis of thousands of test documents, the expected suggestion is ranked at position 1 or 2 in more than 97% of all cases. The algorithm includes the measurement of the distance between the keys on the currently used keyboard. Many different factors are evaluated and rated to create the accurate list of suggestions.

Essentially, the KeyPress event is used to trap keystrokes when a delimiter such as a space, a '.' or a ',' is typed in. Afer that, the misspelled word at the current input position is checked and replaced with the first suggestion of the TX Spell .NET suggestion engine.

This implementation checks also, if you intentionally typed a word incorrect. The second time you "correct" the correction, AutoCorrect is not applied to the same word again.

AutoCorrect using TX Text Control and TX Spell .NET

Happy coding!


Quick Tip: Merging Cells in Tables

Blogged by no-reply@textcontrol.com (Bjoern Meyer at Text Control, LLC) on Monday, September 04 2017

Cell merging is a very easy task using TX Text Control. The method MergeCells of the Table object merges all selected table cells in a table.

In order to select the desired table cells, the Select method can be used. Adjacent cells can be merged horizontally, vertically and both:

Horizontal:

Quick tip: Merging cells in tables

Vertical:

Quick tip: Merging cells in tables

Block:

Quick tip: Merging cells in tables

The following code shows how to use the Select method to select a block of cells from row 1 to row 2 and column 2 to column 3:

Loading...

Read older blog entries