Author |
Topic |
|
JonMRobertson
USA
32 Posts |
Posted - Oct 03 2024 : 11:50:48
|
I have PDFs that contain vector records rather than bitmaps, as confirmed using the PDF Objects demo. Calling PdfViewer.ExportPages to export a page as SVG generates a SVG with a rasterized bitmap of the page.
Are there plans to support exporting a vector PDF as a vectored SVG?
Does anyone know of a library that does?
Thanks |
|
xequte
38610 Posts |
Posted - Oct 03 2024 : 21:26:16
|
Hi Jon
Yes, that is correct. ImageEn only outputs rasterized bitmaps when saving to SVG, except when saving layers.
So you could try this: 1. Import the PDF page as layers 2. Save the layers to SVG
You can try this in our "Layers_AllTypes" demo, it supports loading from PDF files, and there is an SVG option under the View menu.
Note, however, that our native SVG support is limited at this stage.
Nigel Xequte Software www.imageen.com
|
|
|
JonMRobertson
USA
32 Posts |
Posted - Oct 04 2024 : 07:57:48
|
Thanks for the suggestion. The SVG generated by the demo when using View as SVG is still a rasterized bitmap encoded in the SVG.
My current project is basically a "mail merge" using a fillable PDF form and ReportBuilder. I am loading a PDF in ImageEn, populating the PDF fields, and copying the bitmap using TppImage.Picture.Bitmap.assign(ienView.Bitmap).
Thank you for adding support for PDF fields. It would be nice to see additional native SVG support in a future version of ImageEn. |
|
|
JonMRobertson
USA
32 Posts |
Posted - Oct 04 2024 : 08:11:48
|
My first test using Layers_AllTypes was to use the Mouse Action Add Layer: Image, which has a different result than File->Load All Layers.
Load All Layers works closer to expected, although the PDF is not rendered as expected in TImageEnView and the generated SVG contains an encoding error.
I can email you the PDF that I'm using if you'd like me to.
Thanks
Jon |
|
|
xequte
38610 Posts |
Posted - Oct 07 2024 : 22:55:28
|
Thanks Jon
I have sent you a fix for the encoding error.
Some points:
If you supply a PDF file when adding an image layer, the layer will only be a rasterization of the PDF page. You must use LayersImport() if you want the PDF objects added as layers.
Improving the quality of LoadFromFilePDF: If ImageEnView.PDFViewer is enabled, then the page will be rendered at maximum quality (not rasterized). If PDFViewer is disabled then the PDF is loaded as a rasterized image at the current DPI. You can improve the quality by increasing the DPI:
http://www.imageen.com/help/TIEGlobalSettings.PdfViewerDefaults.html
Nigel Xequte Software www.imageen.com
|
|
|
JonMRobertson
USA
32 Posts |
Posted - Oct 08 2024 : 07:46:41
|
Thanks for the additional info. I have PDFViewer enabled. I appreciate the additional functionality/integration with PDFium in the latest release of ImageEn!
Jon |
|
|
|
Topic |
|