JasperReports: PDF generation with image from database - jasper-reports

I want generate PDF File with an image. The image name from database and physically the image is present inside local drive or remote server. I want to pass image name to the PDF.
Currently I am doing this by put an image element inside the iReport IDE designer and pass the server path or local drive path to that image.
It works fine. But I need some other type for dynamic images.

If the image can be reached by the app with a URL you can add a paramter named IMAGE_SRC, and specify in the iReport designer
image expression: new java.net.URL($P{IMAGE_SRC})
expression class: java.net.URL
for the image. Then at runtime you will fill the report after setting the parameter IMAGE_SRC with the value readed from the database

Related

How to add an image to a pdf using Capacitor pdf-generator plugin

I’m using capacitor pdf-generator plugin to create a pdf. I managed to do so as long as the html code is limited to non image tag, code in which I inject some dynamic data by nesting variable using ${ }.
Now, my aim is to bind the src attribute of an ```img`` tag to a variable so that I can change the logo displayed in the created PDF.
Where I fail: what appears on the PDF is a white space with dashed borders (check picture attached). So I guess that the path must be correct because if not it would show the missing icon (issue I went through before I could format correctly the path).
Anyone who already had that trouble?
Finally bypassed this issue by storing the base64 data when selecting a logo and using it directly in the img tag.
<img src="data:image/png;base64,${base64data} " />
You can convert the images to base64 here https://www.base64-image.de/
then add the codes directly to your image tag

How to setup ImageTools in TinyMce

I have added a ImagePlugin as described in https://www.tinymce.com/docs/plugins/imagetools/#sdkinstallation.
I can modify a photo in an editor but I don't know how to save it after modifications.
After posting a form with wysiwyg I get :
Cannot convert
blob:http://10.48.200.155/5e32b981-6e33-48cc-87b1-512abd653912 to
Blob. Resource might not exist or is inaccessible.
When you use the image editing tools to modify an image the editor creates a Base64 encoded new image. This exists (right after the editing) only in the browser. To permanently save the image to something other than Base64 you need to follow these instructions:
https://www.tinymce.com/docs/advanced/handle-async-image-uploads/
The net is that the editor can be configured to send the image binary to a script of your choice. That script needs to save the image somewhere appropriate and return JSON with the path to the new image's location.

Load default image if particular image is not in repository in jasper

I want to load image dynamically in report.
name of image comes from database and in expression i'm creating repo path.
"repo:/images/"+$F{image_name}
But it gives me error if that image is not in repository..
when image is not in repository i want to load some default image instead of error.
How to achieve this??
i tried this but it is not working.
new java.io.File("repo:/images"+$F{image_name}).exists()?"repo:/images"+$F{image_name}:"repo:/images/default_image"
Thanks.

Ipython 0.13.1: Ipython.display.Image doesn't load local png files in notebook

I can't figure out why I can't load a local png file into my ipython notebook. I have in a cell:
from IPython.display import Image
i = Image('../heavy_vortex_3/frames/x_snap_n0000000.png')
i
and instead of seeing the image, i get a little "broken picture" image. Remote pngs work fine, for example:
Image(url='http://upload.wikimedia.org/wikipedia/en/b/bf/Firefox.png')
happily renders that little fox guy. Is there something I'm doing wrong?
Image assume by default you are passing an url and will display an img tag with the href attribute set to the value you passed. You are basically trying to access
http://localhost:8888/../heavy_vortex_3/frames/x_snap_n0000000.png
And probably unless you use some kind of middleware, your asking that to the ipython webserver that have no clue of what you wish.
I think what you want is to display an image with respect to the current working directory of the kernel. So you want to use the filename ( If I remember correctly) kwarg.:
Image(filename='../heavy_vortex_3/frames/x_snap_n0000000.png')
Which will actually read the file, and send it on the wire.

Drawing to existing PDF

When i did CGContextCreateWithURl(url) it created empty context even though i passed url of existing file. How to get the context of existing PDF file?
From my experience you can't actually draw directly to an existing pdf:
Convert pdf to image
Draw new content to that image
Convert appended image to pdf
Not the smoothest, but it works.
the URL isn't an input. It's where you want the context to write the resulting PDF to.
From the documentation:
url
A Core Foundation URL that specifies where you want to place the resulting PDF file.