I’m using PDF.Js to embed PDF file for preview, and I removed the script of download and open files from the viewer.js
, but when I test the page and PDF file try to show, the Internet Download Manager download it and abort the preview .. after search I found that using object
instead of iframe
may solve the problem, but it didn’t work the pdf viewer appeared white, what can I do to prevent auto download ? or using another way (Plugin) to show PDF file content.
<iframe class="pdf" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" frameborder="no" width="'.$width.'" height="'.$height.'" src="'.$baseurl.'/assets/pdf/web/viewer.html?file='.urlencode($pdf_url).'" data-src="'.$pdf_url.'"> '.$pdf_url.' </iframe>
Advertisement
Answer
This is not something related to developing issue , this is something related to user specific environement.
The Issue :
Using IDM ,any URL that ends with a media extension (e.g *.JPG , *.PNG , *.MP4 , *.WMV , *.PDF ..etc ) will be downloaded automatically , However on the other hand if the user doesnt have IDM installed , the file will be viewed immediately in browser window.
Possible Solutions :
- Remove PDF extension Handler from IDM , to prevent auto download, and i think the image explains it very well.
- Modify response header for your PDF link to force your browser to view pdf inside its view , please consider that each browser may handle the response differently , more details about this method can be found here.
Final Note:
As a developer you shouldnt handle each user specific environment , we suppose that when user installs a specific app to handle generic files , then it is his/her role to handle that application , and not the developer role , cause if you follow this algorithm you jump inside infinite loop handling different users specific setup.