Giter Site home page Giter Site logo

jobsta / reportbro-designer Goto Github PK

View Code? Open in Web Editor NEW
312.0 312.0 112.0 8.81 MB

Javascript plugin to visually design report layouts (for pdf and Excel) which can be created with reportbro-lib (a Python package) on the server.

Home Page: https://www.reportbro.com

License: GNU Affero General Public License v3.0

JavaScript 93.52% CSS 6.48%
html5 javascript pdf pdf-generation pdf-generator pdf-template

reportbro-designer's People

Contributors

alhman avatar bmiklautz avatar dependabot[bot] avatar mariarauch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reportbro-designer's Issues

Render text as hyperlink

Is there a way to render a hyperlink that is clickable in the PDF output?

I often want to have links in reports that open the relevant record in the Django app. They hyperlinks would need to be dynamic based on the data (e.g. row in table).

Per page summary

I want to make a report table and how do I make a per page summary?

For example, there are 100 record quantity reports. the first page has 60 records, the other data is on the next page.

I want summary quantity on every page.

thanks

about pdf print

Hi, reportbro is great. But if you print pdf, you actually call the browser's print control, which feels bad, because there are many steps to operate. In printing, will you develop your own printing?

Destroy method

What is the correct way to completely destroy a reportBro instance including removing DOM content and unbinding events?

Safari allows Nested Arrays/Map Due to Failed Object Comparison

There is a line of code that is failing with Safari, but executes fine within Chrome/Firefox. It is a comparison of the the parent item and the current parameter item.

// do not allow nested array/map if (obj.getPanelItem() !== null && obj.getPanelItem().getParent() === this.rb.getMainPanel().getParametersItem()) { $('#rbro_parameter_type option[value="array"]').removeClass('rbroHidden'); $('#rbro_parameter_type option[value="map"]').removeClass('rbroHidden'); } else { $('#rbro_parameter_type option[value="array"]').addClass('rbroHidden'); $('#rbro_parameter_type option[value="map"]').addClass('rbroHidden'); }

The failure is within the obj.getPanelItem().getParent() === this.rb.getMainPanel().getParametersItem(). Returns false in Chrome/Firefox, but true in Safari. This allowed me to build a pretty complex parameter setup that I was hoping it would work.

Looks like it needs to be implemented another way. I do have to ask is there a reason it won't work with highly complexed javascript.

Documentation

Hi There,

Thanks for building what looks to be a very promising application.
Are you able to provide a bit more in-depth documentation?

It's really very vague as to how to properly call data, for example. I am working through setting up an external reportbro-lib server, testing with the report example, but i am getting csrf errors? Please advise

Resize handlers in table elements

Hi there!

Is there a way to hide the resize handlers on the Table Elements? Since the way to resize a table is through each column itself and not through the corner handlers it's a bit confusing to the user.

Thanks!

Page Numbers

Hi,

Is there a way to create page numbers (if occurs) ? I could not find this. This would be great to use.

Designer Layers

Are we able to set positions of parameters in relevance to them being stacked?
Ie, can i put in a background image and have that 'Sent to back'

how to use firefly bold font

i want to use the firefly bold font, but it only have regular firefly font, i cant find the firefly bold font,please answer me how to use it

styled parameter

Hello,

Is there any way or easy workaround to make a parameter in static text bold, italic etc.
For example:

Hello ${CustomerName}. This document .....

How can I give different style to CustomerName. I can try something with different text nodes combined in a frame but length of customer name is unknown.

Issue with Text overlaps when Print conditions are applied

As this seemed like a bug - I thought it appropriate to raise one

  • Add two tables with Print conditions. I have used: ${InvoiceDetails.InvoiceAmountGross} < 3000 for one table and ${InvoiceDetails.InvoiceAmountGross} >= 3000 for the other

image

  • If the table content is overflowing to next page, then the content of text box overlaps with table content

image

Also put up in the forum

Touch support

Do you have any plans for supporting touch devices?

Internationalization

Hello,

Do you have specific internationalization files in your code?
I have interest in translating it to pt-BR (Portuguese/Brazil)

Best regards!
Pedro

Alternate Background Color in table cell with applied style

Hi!

When trying to use Alternate Background Color in a table we will not see alternating color in those cells with an applied style (no matter if they have background color or not) meanwhile the cells without style are working fine.

An image just to illustrate:
alternate-background

Thanks!

Image Paramater Type

I'm really stuck on trying to implement a parameter type: image and using a base64_encoded image as test data.

What fields should I be using for an image type? It this documented somewhere that I'm missing?

Image in a table column

Is there any way on inserting an image into a table column? What about multiple images in a single row?

Report Bro Parameters "preview failed" error ==> outputFormat parameter missing or invalid

Hello i'm working with reportBro in my angular project, i retrieved the data from my application into testData but whenever i click on preview i get "preview failed" error

that's what i wrote in my ts file
this.reportBro = $('#reportbro').reportBro(reportBroParameters);
where reportBroParameters contains all the report parameters.
I don't know what other code to add to make my preview button works

Help me plz

Image Source not recognised unless ending with file extension

I am having an issue where I need some parameters to be appended to the URL of the image source, to ensure caching expiration, etc, however 'parameter not found' error is presented where a GET variable is appended to the image source.

Removing the GET parameter does get around this issue, however.

Tables got bad rendered after load(report)

Hi!

If there is a table on page when we run a load(report) function they will be bad rendered, i.e. the tables will be compressed althought is a render issue since when we reload the page, the tables will be good.

Is there any way to prevent that? Thanks a lot!

In the official invoice.html example, I have added a button and a handler function to run a load just to demo the problem.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>ReportBro Demo Invoice</title>
    <meta charset="utf-8"/>
    <link href="base.css" rel="stylesheet" type="text/css"/>
    <link href="../dist/ext/spectrum.css" rel="stylesheet" type="text/css"/>
    <link href="../dist/reportbro.css" rel="stylesheet" type="text/css"/>
    <script src="../dist/ext/jquery.js"></script>
    <script src="../dist/ext/autosize.js"></script>
    <script src="../dist/ext/JsBarcode.all.min.js"></script>
    <script src="../dist/ext/spectrum.js"></script>
    <script src="../dist/reportbro.js"></script>

    <script type="text/javascript">
$(document).ready(function() {
    var report =
        {"docElements":[{"elementType":"text","id":39,"containerId":"0_header","x":315,"y":0,"width":240,"height":60,"content":"${CompanyDetails.Name}\n${CompanyDetails.Street}\n${CompanyDetails.City}\n${CompanyDetails.WebAddress}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"image","id":38,"containerId":"0_header","x":0,"y":0,"width":190,"height":60,"source":"","image":"data:image/png;base64,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","imageFilename":"rbro_logo_jobsta.png","horizontalAlignment":"left","verticalAlignment":"top","backgroundColor":"","printIf":"","removeEmptyElement":false,"spreadsheet_hide":true,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"text","id":53,"containerId":"0_content","x":0,"y":70,"width":300,"height":20,"content":"${Recipient.Company}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"text","id":54,"containerId":"0_content","x":0,"y":90,"width":300,"height":20,"content":"${Recipient.FirstName} ${Recipient.LastName}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":true,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"text","id":55,"containerId":"0_content","x":0,"y":110,"width":300,"height":20,"content":"${Recipient.AddressStreet}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"text","id":56,"containerId":"0_content","x":0,"y":130,"width":300,"height":20,"content":"${Recipient.ZIP} ${Recipient.City}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"text","id":57,"containerId":"0_content","x":370,"y":180,"width":185,"height":20,"content":"Invoice number: ${InvoiceDetails.InvoiceNumber}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"text","id":58,"containerId":"0_content","x":370,"y":200,"width":185,"height":20,"content":"Date: ${InvoiceDetails.InvoiceDate}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"1","spreadsheet_addEmptyRow":true},{"elementType":"table","id":72,"containerId":"0_content","x":0,"y":240,"dataSource":"${Invoice}","columns":5,"header":true,"footer":false,"border":"grid","borderColor":"#cccccc","spreadsheet_hide":false,"spreadsheet_column":"","spreadsheet_addEmptyRow":false,"headerData":{"elementType":"none","id":73,"height":30,"backgroundColor":"#f9cb9c","repeatHeader":false,"columnData":[{"elementType":"table_text","id":74,"width":265,"height":30,"content":"Description","styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"printIf":"","borderWidth":1},{"elementType":"table_text","id":75,"width":59,"height":30,"content":"Quantity","styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"printIf":"","borderWidth":1},{"elementType":"table_text","id":82,"width":70,"height":30,"content":"Unit Price","styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"printIf":"","borderWidth":1},{"elementType":"table_text","id":83,"width":70,"height":30,"content":"VAT","styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"printIf":"","borderWidth":1},{"elementType":"table_text","id":84,"width":90,"height":30,"content":"Amount","styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"printIf":"","borderWidth":1}]},"contentData":{"elementType":"none","id":76,"height":26,"backgroundColor":"","alternateBackgroundColor":"#f3f3f3","alwaysPrintOnSamePage":true,"columnData":[{"elementType":"table_text","id":77,"width":265,"height":26,"content":"${Description}","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":78,"width":59,"height":26,"content":"${Quantity}","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"right","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":85,"width":70,"height":26,"content":"${UnitPrice}","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"right","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":86,"width":70,"height":26,"content":"${VAT}%","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"right","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":87,"width":90,"height":26,"content":"${Amount}","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"right","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1}]},"footerData":{"elementType":"none","id":79,"height":20,"backgroundColor":"","columnData":[{"elementType":"table_text","id":80,"width":265,"height":20,"content":"","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":81,"width":59,"height":20,"content":"","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":88,"width":70,"height":20,"content":"","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":89,"width":70,"height":20,"content":"","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1},{"elementType":"table_text","id":90,"width":90,"height":20,"content":"","styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"borderWidth":1}]}},{"elementType":"text","id":97,"containerId":"0_content","x":0,"y":430,"width":555,"height":50,"content":"Payment of the gross amount is due within 30 days after the issuing date.","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"${InvoiceDetails.InvoiceAmountGross} >= 3000","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"1","spreadsheet_addEmptyRow":false},{"elementType":"text","id":110,"containerId":"0_content","x":0,"y":430,"width":555,"height":50,"content":"Payment of the gross amount is due within 14 days after the issuing date.","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"${InvoiceDetails.InvoiceAmountGross} < 3000","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"1","spreadsheet_addEmptyRow":false},{"elementType":"frame","id":127,"containerId":"0_content","linkedContainerId":128,"label":"Frame totals","x":324,"y":296,"width":230,"height":88,"backgroundColor":"","borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"borderColor":"#000000","borderWidth":"1","printIf":"","removeEmptyElement":false},{"elementType":"text","id":91,"containerId":128,"x":0,"y":0,"width":141,"height":30,"content":"TOTAL NET","eval":false,"styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#cccccc","borderWidth":1,"borderAll":false,"borderLeft":true,"borderTop":false,"borderRight":true,"borderBottom":true,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"1","spreadsheet_addEmptyRow":false},{"elementType":"text","id":93,"containerId":128,"x":0,"y":29,"width":141,"height":30,"content":"TOTAL VAT","eval":false,"styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#cccccc","borderWidth":1,"borderAll":true,"borderLeft":true,"borderTop":true,"borderRight":true,"borderBottom":true,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"1","spreadsheet_addEmptyRow":false},{"elementType":"text","id":95,"containerId":128,"x":0,"y":58,"width":141,"height":30,"content":"TOTAL GROSS","eval":false,"styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#cccccc","borderWidth":1,"borderAll":true,"borderLeft":true,"borderTop":true,"borderRight":true,"borderBottom":true,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"1","spreadsheet_addEmptyRow":false},{"elementType":"text","id":92,"containerId":128,"x":140,"y":0,"width":90,"height":30,"content":"${InvoiceDetails.InvoiceAmountNet}","eval":false,"styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"right","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#cccccc","borderWidth":1,"borderAll":false,"borderLeft":true,"borderTop":false,"borderRight":true,"borderBottom":true,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"$ #,##0.00","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"5","spreadsheet_addEmptyRow":false},{"elementType":"text","id":106,"containerId":128,"x":140,"y":29,"width":90,"height":30,"content":"${InvoiceDetails.InvoiceTax}","eval":false,"styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"right","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#cccccc","borderWidth":1,"borderAll":true,"borderLeft":true,"borderTop":true,"borderRight":true,"borderBottom":true,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"$ #,##0.00","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"5","spreadsheet_addEmptyRow":false},{"elementType":"text","id":107,"containerId":128,"x":140,"y":58,"width":90,"height":30,"content":"${InvoiceDetails.InvoiceAmountGross}","eval":false,"styleId":"","bold":true,"italic":false,"underline":false,"horizontalAlignment":"right","verticalAlignment":"middle","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":12,"lineSpacing":1,"borderColor":"#cccccc","borderWidth":1,"borderAll":true,"borderLeft":true,"borderTop":true,"borderRight":true,"borderBottom":true,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"$ #,##0.00","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":false,"spreadsheet_column":"5","spreadsheet_addEmptyRow":false},{"elementType":"text","id":99,"containerId":"0_footer","x":0,"y":10,"width":180,"height":50,"content":"${CompanyDetails.Name}\n${CompanyDetails.Street}\n${CompanyDetails.City}\n${CompanyDetails.WebAddress}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":"10","lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"","spreadsheet_addEmptyRow":false},{"elementType":"line","id":100,"containerId":"0_footer","x":0,"y":0,"width":555,"height":2,"color":"#fdc700","printIf":""},{"elementType":"text","id":105,"containerId":"0_footer","x":375,"y":10,"width":180,"height":50,"content":"Bank: ${CompanyDetails.Bank}\nIBAN: ${CompanyDetails.IBAN}\nBIC: ${CompanyDetails.BIC}\nUID: ${CompanyDetails.UID}","eval":false,"styleId":"","bold":false,"italic":false,"underline":false,"horizontalAlignment":"left","verticalAlignment":"top","textColor":"#000000","backgroundColor":"","font":"helvetica","fontSize":"10","lineSpacing":1,"borderColor":"#000000","borderWidth":1,"borderAll":false,"borderLeft":false,"borderTop":false,"borderRight":false,"borderBottom":false,"paddingLeft":2,"paddingTop":2,"paddingRight":2,"paddingBottom":2,"printIf":"","removeEmptyElement":false,"alwaysPrintOnSamePage":true,"pattern":"","cs_condition":"","cs_styleId":"","cs_bold":false,"cs_italic":false,"cs_underline":false,"cs_horizontalAlignment":"left","cs_verticalAlignment":"top","cs_textColor":"#000000","cs_backgroundColor":"","cs_font":"helvetica","cs_fontSize":12,"cs_lineSpacing":1,"cs_borderColor":"#000000","cs_borderWidth":"1","cs_borderAll":false,"cs_borderLeft":false,"cs_borderTop":false,"cs_borderRight":false,"cs_borderBottom":false,"cs_paddingLeft":2,"cs_paddingTop":2,"cs_paddingRight":2,"cs_paddingBottom":2,"spreadsheet_hide":true,"spreadsheet_column":"1","spreadsheet_addEmptyRow":false}],"parameters":[{"id":6,"name":"page_count","type":"number","eval":false,"pattern":"","expression":"","showOnlyNameType":true,"testData":""},{"id":7,"name":"page_number","type":"number","eval":false,"pattern":"","expression":"","showOnlyNameType":true,"testData":""},{"id":35,"name":"Invoice","type":"array","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"[{\"Description\":\"Website Requirements Definition\",\"VAT\":\"20\",\"UnitPrice\":\"120\",\"Quantity\":\"14,25\",\"Amount\":\"1710\"},{\"Description\":\"Web Design\",\"VAT\":\"20\",\"UnitPrice\":\"120\",\"Quantity\":\"28\",\"Amount\":\"3360\"},{\"Description\":\"Web Development\",\"VAT\":\"20\",\"UnitPrice\":\"135\",\"Quantity\":\"57\",\"Amount\":\"7695\"},{\"Description\":\"QA & Testing\",\"VAT\":\"20\",\"UnitPrice\":\"100\",\"Quantity\":\"12\",\"Amount\":\"1200\"},{\"Description\":\"Deployment & Server Maintenance\",\"VAT\":\"20\",\"UnitPrice\":\"110\",\"Quantity\":\"8\",\"Amount\":\"880\"}]","children":[{"id":36,"name":"Description","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":""},{"id":69,"name":"VAT","type":"number","eval":false,"pattern":"#,##0","expression":"","showOnlyNameType":false,"testData":""},{"id":70,"name":"UnitPrice","type":"number","eval":false,"pattern":"#,##0.00","expression":"","showOnlyNameType":false,"testData":""},{"id":37,"name":"Quantity","type":"number","eval":false,"pattern":"#,##0.00","expression":"","showOnlyNameType":false,"testData":""},{"id":71,"name":"Amount","type":"number","eval":false,"pattern":"#,##0.00","expression":"","showOnlyNameType":false,"testData":""}]},{"id":40,"name":"Recipient","type":"map","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"","children":[{"id":42,"name":"Company","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"Mayer Consulting"},{"id":43,"name":"LastName","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"Mayer"},{"id":44,"name":"FirstName","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"Max"},{"id":45,"name":"AddressStreet","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"Freihausgasse 17"},{"id":46,"name":"ZIP","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"1040"},{"id":47,"name":"City","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"Wien"}]},{"id":111,"name":"InvoiceDetails","type":"map","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"","children":[{"id":112,"name":"InvoiceAmountNet","type":"sum","eval":false,"pattern":"#,##0.00","expression":"${Invoice.Amount}","showOnlyNameType":false,"testData":""},{"id":113,"name":"InvoiceTax","type":"number","eval":true,"pattern":"#,##0.00","expression":"${InvoiceDetails.InvoiceAmountNet}/100*20","showOnlyNameType":false,"testData":""},{"id":114,"name":"InvoiceAmountGross","type":"number","eval":true,"pattern":"#,##0.00","expression":"${InvoiceDetails.InvoiceAmountNet}+${InvoiceDetails.InvoiceTax}","showOnlyNameType":false,"testData":""},{"id":115,"name":"InvoiceNumber","type":"number","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"123"},{"id":116,"name":"InvoiceDate","type":"date","eval":false,"pattern":"d. MMMM yyyy","expression":"","showOnlyNameType":false,"testData":"2017-06-12"}]},{"id":117,"name":"CompanyDetails","type":"map","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"","children":[{"id":123,"name":"Name","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"MyCompany, Inc."},{"id":124,"name":"Street","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"Invented Street 843"},{"id":125,"name":"City","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"12345 Company City"},{"id":126,"name":"WebAddress","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"www.reportbro.com"},{"id":118,"name":"IBAN","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"AT25 1420 0123 1234 1234"},{"id":119,"name":"Bank","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"easybank"},{"id":120,"name":"BIC","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"EASYATW1"},{"id":122,"name":"UID","type":"string","eval":false,"pattern":"","expression":"","showOnlyNameType":false,"testData":"ATU12345678"}]}],"styles":[],"version":1,"documentProperties":{"pageFormat":"A4","pageWidth":"","pageHeight":"","unit":"mm","orientation":"portrait","contentHeight":"","marginLeft":"20","marginTop":"20","marginRight":"20","marginBottom":"10","header":true,"headerSize":"60","headerDisplay":"always","footer":true,"footerSize":"60","footerDisplay":"always","patternLocale":"de","patternCurrencySymbol":"€"}};

    var rb = $('#reportbro').reportBro({
        //remove reportServerUrl if you want to use the default report server for a quick start
        reportServerUrl: 'http://localhost:8000/reportbro/report/run',
        menuShowButtonLabels: true
    });
    $('#reportbro').reportBro('load', report);


    $('#btn').on('click', function (event) {
        event.preventDefault();
        $('#reportbro').reportBro('load', report);
    });
});
    </script>
</head>
    <body>
        <button id="btn">load</button>
        <div id="reportbro"></div>
    </body>
</html>

delete parameter programmatically

Hi there,

Is there any way to delete a previously added parameter? I have leveraged reportbro.createParameter(parameterData) previously and works perfectly nevertheless reportbro.deleteParameter(parameter) not.

For instance, this do nothing.

const parameterName = 'page_total';
const parameter = reportBro.getParameterByName(parameterName);
reportBro.deleteParameter(parameter);

Is there a way to do that? Thanks!

Preserve styling properties after selecting style none

Hi!

Let's say we have a custom style but would like to make a little override on text align but want to preserve the other properties like font weight or color, etc. To be able to change the align we would need to select "none" in the Style dropdown but doing this we will lose all the other properties and our element would be reset to default styles :-(.

Is there a way to add overrides over an element with a style applied? if not, would be great to preserve the styles once we select "none" in the Style dropdown.

A little gif to illustrate:
apply-styles

Thanks!

encoding error

From example web2py app:

If I print some non english words in text field, get error Text contains non printable character when generate report

Tested from FF,Google chrome (80.0.3987.149)

# ~/.local/lib/python2.7/site-packages/reportbro/reportbro.py
self.set_doc_option('core_fonts_encoding', 'windows-1252')

...
# ~/.local/lib/python2.7/site-packages/reportbro/elements.py
# content is u'\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a' = 'Заголовок' (RU) in utf-8, i think
lines = pdf_doc.multi_cell(available_width, 0, content, align=self.used_style.text_align, split_only=True)

...
# ~/.local/lib/python2.7/site-packages/fpdf/fpdf.py
# self.core_fonts_encoding = windows1251 
encoded_chars = c.encode(self.core_fonts_encoding)

...
# and we got UnicodeEncodeError at ~/.local/lib/python2.7/site-packages/reportbro/elements.py:295

If i try c.encode(u'utf-8') it works normally
The same if define

self.set_doc_option('core_fonts_encoding', 'utf-8')

Support for HTML in Text element

Is it possible to render Text content as HTML. I have a use case where the form field is HTML input by user. e.g.

<div>
     <h1>Company Name</h1>
</div>

how pass queryset to report?

if I want pass django model one or more and use him attributes as parameters in report designer
e.g:

class Employee(models.Model):
    class Meta:
        db_table = 'hr_employee'
    id = models.IntegerField(db_column='id', primary_key=True)
    name = models.CharField(db_column='name', max_length=100)
    civil_id = models.CharField(db_column='civil_id', max_length=20)
    job = models.ForeignKey(Job, db_column='job', on_delete=models.DO_NOTHING)
class Job(models.Model):
    class Meta:
        managed = False
        db_table = '[Toyor_Aljanna].[dbo].[hr_jobs]'

    id = models.IntegerField(db_column='id', primary_key=True)
    name = models.CharField(db_column='name', max_length=100)
    job_type = models.IntegerField(db_column='job_type')

I want make report for employee with them job so I want pass employee model to report and add attributes in report as parameters.

Thanks

error running build-prod

When running npm run build-prod I end with an error:

reportbro-designer/node_modules/uglify-js/tools/node.js:42
    sys.error("WARN: " + txt);
        ^

TypeError: sys.error is not a function

Adding New Element/Content Item with Preview Tab Open

Unsure if this is an intended feature, however when previewing a PDF report and subsequently switching back to the 'PDF Content' tab, draggable elements/content items will not add to the workspace unless the PDF preview is closed.

Graphs / Charts

Hi,

are you planning to implement basic charts, like Pie-, Graph or Bar-chart.

As far as I have seen, there is no simple solution, like adding Chart.js for example, because there is no Python equivalent. Or is it possible to add elements to the designer withput adding them in the Python library?

Demo django app doesn't handle images

I was testing this out using the django demo app and when I added an image to the report and saved everything seemed to stop working. My best guess is that the data isn't being saved as valid JSON. Interestingly the preview works, but after saving the report you cannot download an album report nor does the edit report page load properly after navigating away and then navigating back.

Steps to reproduce

  1. Follow steps on https://www.reportbro.com/docs/setup to get django demo app running
  2. Go to http://localhost:8000/albums/report/edit/
  3. Add an image somewhere in the report
  4. Save the report
  5. Go to http://localhost:8000/albums/album/index/
  6. Download a album report
  7. Navigate back to http://localhost:8000/albums/report/edit/

Expected behavior

  1. Report displays as PDF with image (Step 6 above)
  2. Can edit the report again (Step 7 above)

Actual behavior

  1. Returns error string: "report exception: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)"
  2. Report is blank (I.E. missing all previously configured information)

Tables looses original position

I have seen this weird behaviour where a table looses its position in the sheet. Here is a GIF showing this.

I'm saving the report in a database similar to the way python does it. After loading the report again the table looses its position.

Nov-18-2019 14-45-47

Why x and y are different from paper size?

I realized that when I send the document to be saved, the x and y props of the docElements are different from the paper size.
For example, if a element are positioned in the extreme right of the document, the X prop will be '600' in a A4 paper size.

Run command callback on docElement selection

Hi!

Do you think it would be easy to allow run a callback when a doc Element is selected in canvas? We would love to know at least the id of the selected docElement.

For the moment we will implement an alternative based in MutationObserver when any rbroDocElement node gets a class rbroSelected and then looking for its id in reportBro.selections array or something similar.

Thanks!

About the album application in Setup running locally

In the Settings inside the album application is running locally, I added Chinese in the album page to print error
image
image
But I can print the Chinese font in the report page
image
So I would like to ask how to set the font of the album page

load(report) doesn't work

Simple test to verify this would be to run the following in the chrome console.

$('#reportbro').load($('#reportbro').reportBro('getReport'));

This points to the documentation stating "Takes a report object as parameter and loads it into the ReportBro Designer. The report object can be obtained with the getReport method.".

What actually happens is we get an error so the report never loads:

Uncaught TypeError: a.indexOf is not a function
at r.fn.init.r.fn.load (jquery.min.js:4)
at :1:17

How to render a table within a table

Is there a way to render a table within a table?

  1. I wasn't able to add a table widget into a table cell
  2. Wasn't able to select an array within an array on to a table's datasource

Portuguese characters not working...

Hello this code does not work because of portuguese chars

report = Report(definition, {
"TITLE":"Certificado de Análise"
}

Análise has a "á" that replaced with just "a" works perfectly but in portugal we need this special characters.

what shoud i do ??

Regards
António

Custom font (Khmer Unicode) render not correct

I have follow the additional fonts here.
https://www.reportbro.com/support/index

And it does print the custom font.
ref: Custom font, https://fonts.google.com/specimen/Khmer?selection.family=Khmer

Yet, the result is recondered not correctly. It look like new line is include to the content.

Source Data "ថ្ងៃនេះជាថ្ងៃល្អ".
Output PDF:expense-report (24).pdf

Output Excel:
file.xlsx

The content supposed to be print like "ថ្ងៃនេះជាថ្ងៃល្អ".
Not sure if there is anything to do with reportbro or the OS of server.

Multi-rows table header and merge cells

I need multi-rows table header and merge cells to customize the table layout. Did you develope these features? I hope they will be developed :D
Thank you

Group data within tables

Does this project support grouping data within the tables by data source parameters?

I noticed that if I select the content element within a table, group expression is a setting. I haven't figured out what to do with this and didn't see this mentioned in the documentation.

reportbro_group_expression

I frequently need to group data within a report. Ideally, group would have headers (for titles) and footers (for aggregating data).

Custom ReportPro

Please how to disable Settings, I dont want them there?
Pattern locale
Pattern currency symbol

How to disable "Preview report" top button?

How to make custom function which will fire after event onChange anything? I mean when anything is changed it will be saved into some place in DOM.

Image in collection parameter rendering with base64 image data

Exception thrown rendering an image document element with its source set to an image parameter inside a collection parameter. eg. ${Collection.Img}. The data provided includes a b64 encoded string eg. {"Collection": {"Img": "data:image/png;base64,...."}}.

Wrong code

Please change in StylePanel.js
this line:
title="${rb.getLabel('styleunderline')}"></button>)into this:title="${rb.getLabel('styleUnderline')}">)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.