J'ai un PDF incorporé dans HTML à l'aide de la balise object. Le PDF incorporé est un gros document et, lorsqu'il est affiché à partir de mon bureau, le PDF s'affiche correctement avec la barre de défilement dans tous les navigateurs, y compris safari. Cependant, lorsque je visualise la même page html sur iPad, le PDF intégré ne comporte pas de barre de défilement. Existe-t-il un moyen de montrer la barre de défilement dans iPad pour un document PDF incorporé.
Le code utilisé pour intégrer le PDF est
<object data="pdf.pdf" type="application/pdf" width="1000px" height="1200px" id="pdfDoc" name="pdfDoc"></object>
J'ai aussi essayé avec iframe et même cela ne fonctionne pas.
Cela semble fonctionner:
Voici le code que j'ai utilisé:
<!DOCTYPE html>
<html>
<head>
<title>PDF frame scrolling test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style>
#container { overflow: auto; -webkit-overflow-scrolling: touch; height: 500px; }
object { width: 500px; height: 10000px }
</style>
</head>
<body>
<div id="container">
<object id="obj" data="my.pdf" >object can't be rendered</object>
</div>
</body>
</html>
J'avais besoin de la même chose, alors je partage.
Problèmes que j'ai rencontrés:
S'il vous plaît essayez ce qui suit:
http://jsfiddle.net/aknMJ/2/embedded/result/
Astuces utilisées:
$('#pdfFrame').hide();
var pdfFrame = document.getElementById('pdfFrame');
pdfFrame.contentWindow.location.replace(PDF_URL);
$('#pdfFrame').on('load', function () {
$('#pdfFrame').show();
var documentWidth = $(document).width()
var scale = (documentWidth / width) * 0.95;
$('#pdfFrame').css("-webkit-transform", "scale(" + scale + ")");
});
Sur l'iPad, vous pouvez utiliser deux doigts pour faire défiler le contenu incorporé - cela fonctionne pour les divs avec débordement: scroll
PDF.js fonctionne parfaitement dans notre cas.
Vous pouvez consulter la solution complète 1-ligne ici: Rendre incorporé PDF défilable dans iPad
Bonne chance