Thank you for the template. We're gonna check if we can optimize processing a bigger XLSX template like this one
https://github.com/jsreport/jsreport/issues/1270
Posts made by admin
-
RE: Excel Template Render Timeout issueposted in general forum
-
RE: JSReport Puppeteer vulnerabilitiesposted in general forum
We will again update puppeteer/chromium in the next release. As always. Likely soon.
If you need to update just now, go ahead and update the puppeteer dependency.
You just need to list the latest puppeteer dependency in your package.json.Or build your own Docker image with the updated Chromium. However, note that the latest Chromium with the fix is not yet in the public repository at the time of writing this post.
-
RE: How can I change an object like rectangle color in PPTXposted in general forum
Unfortunately, this isn't supported yet.
I've added this feature to the backlog now
https://github.com/jsreport/jsreport/issues/1269 -
RE: NodeJS now required for standalone version?posted in general forum
Hi,
Unfortunately, we don't provide a compiled version of jsreport in the latest release. There is a problem with the technology used for compilation. We will try to support the compiled versions again in the next release.
I've updated the release notes. I apologize for the confusion.
Jan
-
RE: reportTimeout Behavior in Async Requestsposted in general forum
Unfortunately, it's not there. There was some controversy, but I am adding this now...
-
RE: JSReport Puppeteer vulnerabilitiesposted in general forum
The dependencies will be updated with the next release as always.
https://github.com/jsreport/jsreport?tab=readme-ov-file#vulnerabilitiesThe release is scheduled for this week.
-
RE: Merge external PDF into recipeposted in general forum
Yes, you can use a custom jsreport script where you can code what you need
https://jsreport.net/learn/scripts
https://jsreport.net/learn/pdf-utils#usage-in-scriptconst jsreport = require('jsreport-proxy') async function afterRender (req, res) { res.content = await jsreport.pdfUtils.merge(res.content, Buffer.from(req.data.externalPdf, 'base64')) }Full demo here
https://playground.jsreport.net/w/anon/2lCyXIBl -
RE: numbers of columns in html-embedded-in-docxposted in general forum
It works the way jsreport takes your html as is and puts it into the docx file source.
When you open the Word app, it interprets the HTML.
jsreport does not influence how it is interpreted.Perhaps you can try the docx recipe and
docxHtmlhelper, if you need to display just a simple html.
This would let you modify the page size and orientation in the word template.
https://jsreport.net/learn/docx#docxhtml -
RE: Component Evaluation Hookposted in general forum
Maybe you can implement your own helper "dynamicComponent" that receives the component code and returns the evaluated result.
It would be up to you where you download the component implementation.https://playground.jsreport.net/w/anon/CQZ_3bC4
const jsreport = require('jsreport-proxy') async function dynamicComponent(content, helpers) { return await jsreport.templatingEngines.evaluate({ engine: 'handlebars', content: content, helpers: helpers, data: this }, { entity: jsreport.req.template, entitySet: 'templates' }) }{{{dynamicComponent "some dynamic content {{myData}}" "function aHelper() {}"}}} -
RE: Create users in k8s deploymentposted in general forum
The custom users need to be persisted.
However, you can create a startup script that will import or create them.
-
RE: Worker terminated due to reaching memory limit: JS heap out of memoryposted in general forum
See this config
https://jsreport.net/learn/configuration#workers
https://nodejs.org/api/worker_threads.html#worker_threads_worker_resourcelimitsCould you please let us know the default heap size?
These are the runtime/nodejs settings.
Each thread gets the same default limit as the main thread
~1.5 GB on 64-bit systemsHow many percentage of RAM should be allocated to heap?
There is no rule of thumb, try what works best for you.
The main thread can remain in default, and the rest can be divided among workers.If we have set only one worker then why are we getting heap size limit issue?
Because every worker has the nodejs default limit.
Do references held by previous renders get freed up after report rendering finishes?
nodejs is the garbage-collected runtime. So it gets cleaned from memory when the GC gets triggered by the runtime.
-
RE: Import ESM module to sandboxposted in general forum
Hi, it is likely that in June 2026, the node VM module will enable us to sandbox ESM modules.
However, note that in the newer node, you will still be able to use CommonJS modules as of now.
In other words, that date, June 2026, shouldn't be significant for you. -
RE: Prevent non-admin users from creating new assets in the root folderposted in general forum
This hasn’t been implemented yet, unfortunately — there were other priorities.
-
RE: jsreport.templatingEngines.createStream does not work for xlsxposted in general forum
The xlsx recipe, when you use
xlsxAdd, already use batching and streaming internally.
Do you hit an OOM error when having many rows? -
RE: afterRender of accessible PDFs removes all accessibility tagsposted in general forum
Would you be able to email me the mentioned pdfs?
-
RE: Studio Not Loading with Large MongoDB Database (10K+ Templates/Assets)posted in general forum
You can send the export or compressed data folder...
I cannot imagine why the perf would be different when using external config. Maybe some kind of disk virtualization/docker/os issue.
Anyway, what if you test things without Docker first and then troubleshoot the containerization issues?
-
RE: Studio Not Loading with Large MongoDB Database (10K+ Templates/Assets)posted in general forum
You have two loops in your folder structure.
folder with shortid
0HYiJb9has parent itself
folderAKH3fuShas a parent2vof8k_which has parentAKH3fuSTo fix your workspace
set to the folder withshortid: 0HYiJb9the propfoldernull to move it to the root
and set to theshortid: 2vof8k_the propfolderto nullI am not sure how this happened. If you will ever be able to deterministically replicate this, we will happily take a look.
why handlebar and chrome pdf took this much of time , any idea ?
The only thing that comes to my mind is that the reason is a super throttled CPU.
Try a different machine, or send me your workspace I can test. -
RE: Studio Not Loading with Large MongoDB Database (10K+ Templates/Assets)posted in general forum
There is no extra setting. Try to compare the profile, what is actually the bottleneck
https://jsreport.net/learn/studio#profiles -
RE: Studio Not Loading with Large MongoDB Database (10K+ Templates/Assets)posted in general forum
Regarding the original question...
It appears that the studio's JavaScript is freezing the browser. Would it be possible for you to share with me confidentially your workspace? An export or a mongodb dump. You could clean all the data and template content if you need to. You can email me a link where to download it to jan.blaha@jsreport.netRegarding rendering time...
The jsreportonline has limited containers, so your full machine env should actually be faster.
One thing that comes up to my mind is that the problem could be amount of entities -> slow db and loading.
Could you check your collections have indexes? The latest jsreport automatically creates indexes.