Project

General

Profile

paint Image on PDF.

Added by Ron Tidwell about 7 years ago

I am creating another PDF that includes a bar code image on it.

When running I get follow errors:

[2017-Mar-23 10:51:42.029652] 14723 - [info] "WebRequest: took 0.37ms"

/home/rtidwell/PDF/RTidwell/BarImage.png

[2017-Mar-23 10:51:44.908575] 14723 [/ eSGwaXnoToH7g5UB] [error] "Wt: error during event handling: WPdfImage::drawImage(): cannot load image: ?_=file%3a///home/rtidwell/PDF/RTidwell/BarImage.png&wtd=eSGwaXnoToH7g5UB"

Wt::WPainter::Image Documentation say its want a URL. So I used Wt::Resource to create the URL.

Wt::WFileResource *BarImage = new WFileResource(BarcodeFile);

BarImage->setInternalPath(Path);

BarImage->setMimeType("image/png");

BarImage->setDispositionType(Wt::WResource::Inline);

If create an anchor and set this link to it, the anchor works and image is displayed in the browser. Below is code used trying to paint the image.

Wt::WPainter::Image BarCode = Wt::WPainter::Image(BarImage->url(),BarcodeFile);

Wt::WPointF BarPoint = Wt::WPointF(40,cury);

cury += 30;

painter.drawImage(BarPoint,BarCode);

I am sure I am doing some stupid any help would be appreciated.

Thank you,

Ron


Replies (2)

RE: paint Image on PDF. - Added by Koen Deforche about 7 years ago

Hey Ron,

The WPainter API has some general requirements (an image URL for use in e.g. SVG/WCanvasPaintDevice, and a local URL to be able to determine the image size necessary for some implementations), but the PDF target adds as a requirement that the image must be a available locally (it will not download an image through the given URL).

So you need to pass an image either as a file ("/tmp/image.png") or as a data URL (data:base64...).

Koen

RE: paint Image on PDF. - Added by Ron Tidwell about 7 years ago

Thank you!!! That worked.

Ron

    (1-2/2)