mozilla / pdf.js

PDF Reader in JavaScript
https://mozilla.github.io/pdf.js/
Apache License 2.0
48.35k stars 9.97k forks source link

3d PDF support #3254

Closed johnyf closed 3 years ago

johnyf commented 11 years ago

It would be nice to have 3d interactive object support in this viewer: http://www.3dpdfconsortium.org/

As of now incorporating this feature would make it (apparently) the first open source PDF viewer to render 3d pdf graphics. Currently only Adobe Acrobat and some proprietary viewers only support 3d viewing capabilities, which severely limits use of 3d content (coupled with the relatively involved ways of incorporating 3d content via non-proprietary methods).

Moreover, if pdf.js provided this capability, it would allow standalone websites (i.e., irrespective of browser/system) to display 3d PDF content, platfrom-independently.

Some related links may be of interest: http://vcg.isti.cnr.it/~cignoni/newvcglib/html/ http://threejs.org/

jfbucas commented 10 years ago

Yes, this is would definitely make a difference because the Linux version of Adobe Reader has no 3D support.

Currently, the only solution to see 3D PDF on Linux is to install Adobe Reader 9 for Windows (which is not supported anymore) using Wine (which of course is not supported at all).

yurydelendik commented 10 years ago

Implementing this might take time -- it's different specification U3D http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-363%204th%20Edition.pdf . If somebody will point to a lightweight and properly licensed library for web browsers, it will be easy to add annotations that will call this library for display.

timvandermeij commented 10 years ago

For reference, here are some examples of 3D PDFs: http://www.pdf3d.com/gallery.php. Note that even Adobe Acrobat cannot open all of them, so implementing this will be tough. I'm also doubting how many people actually use this. Most of the PDFs are even quite slow in Acrobat, so I'm not really confident that JS will be able to do a better job. Nevertheless feel free to implement this feature and submit a PR for it.

jimbowatusi commented 8 years ago

I was excited to see this as an open issue. Has there been any movement on it?

timvandermeij commented 8 years ago

Not yet. This is a very complicated and not frequently used feature, so I doubt it will be implemented soon. However, anyone willing to work on this is invited to submit a PR.

Huespal commented 7 years ago

More than year has passed. News about this? I'm waiting for this to be a reality on the web. Big cloud companies are not rendering 3D PDF's in browsers and I can not understand why.

yurydelendik commented 7 years ago

I can not understand why.

I mentioned above 3D part is not part of PDF32000 specification, but defined in different specification http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-363%204th%20Edition.pdf . The market is small for this feature, but we will be glad to consider integrating a plugin or some external library that will render U3D (that PDF.js can extract from a PDF) into generic demo viewer.

yurydelendik commented 7 years ago

Somebody want's to try https://github.com/Lorti/webgl-3d-model-viewer-using-three.js ?

VBmgk commented 6 years ago

I tried this project and it rendered just fine on Firefox Quantum 59.0.2 64-bit (but not on Google Chrome 63.0.3239.84 ...) @yurydelendik is there a way to view 3d pdfs using this nowadays?

stealth1024 commented 4 years ago

Somebody want's to try https://github.com/Lorti/webgl-3d-model-viewer-using-three.js ? It is very different but NOT an answer to this issue. I have used three.js, it is based on the latest WebGL technology and good for .obj/.stl files, but the 3D model here is embedded into a pdf file and the format is no opened.

Snuffleupagus commented 3 years ago

As mentioned above, see e.g. https://github.com/mozilla/pdf.js/issues/3254#issuecomment-330267767, this isn't actually part of the PDF specification and it also seem to be a somewhat niche feature still; all-in-all this seems unlikely to be implemented in PDF.js and thus WONTFIX is probably appropriate here.

johnyf commented 3 years ago

In case it is decided at a future time to implement this functionality, then this issue could be reopened.