7
votes

Visionneuse PowerPoint pour réagir?

J'ai beaucoup cherché cela mais je n'ai trouvé aucun package ou guide sur la façon d'afficher un fichier ".ppt" sur une page Web en utilisant react.js.

J'autorise l'utilisateur à télécharger un fichier ".ppt", et je veux qu'il puisse voir ce fichier "Powerpoint" dans une page Web, est-ce même possible?

J'ai essayé ce qui suit mais cela n'a pas fonctionné ...

<iframe
    src={`https://view.officeapps.live.com/op/embed.aspx?src=[${linkToPPTFile}]`}
    width="100%"
    height="600px"
    frameBorder="0"
></iframe>

Toute aide serait appréciée.


0 commentaires

5 Réponses :


0
votes

Il y a des informations similaires ici .

D'après ce que j'ai lu, il semble que vous puissiez soit convertir les powerpoints en flash et les afficher, soit utiliser potentiellement une sorte d'outil comme slideshare ou une extension google slides.

J'espère que cela t'aides!


1 commentaires

Malheureusement, ces options ne fonctionneront pas pour mon cas. Merci pour l'effort pensé :)



1
votes

Il semble que le lien d'intégration Microsoft particulier ne fonctionne plus. Une façon d'y parvenir consiste à stocker le fichier PowerPoint dans un dossier public en ligne et à créer un code d'intégration dans PowerPoint pour le Web ( https://www.office.com/launch/powerpoint ). Le code d'intégration doit inclure une <iframe/> .

Plus d'informations sur le processus ici: https://support.office.com/en-us/article/Embed-a-presentation-in-a-web-page-or-blog-19668A1D-2299-4AF3-91E1- AE57AF723A60


1 commentaires

Relisez simplement la question. Je vais regarder pour voir si c'est possible pour un fichier téléchargé par l'utilisateur.



0
votes

La seule solution PPT téléchargée par l'utilisateur que j'ai pu trouver consiste à télécharger une copie du fichier sur One Drive, à l'aide de l'API de Microsoft: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/concepts/ upload? view = odsp-graph-online

Vous pouvez ensuite créer un "lien de partage" à l'aide de l'API. L'URL du fichier partagé est renvoyée dans la réponse de l'API ( https://1drv.ms/ ... ) Et toute personne utilisant le lien peut accéder au document pour le consulter en ligne. Voir: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_createlink?view=odsp-graph-online


6 commentaires

Cela ne fonctionnera pas pour moi, j'ai besoin d'un moyen d'afficher le fichier ppt directement (en tant que lien d'une réponse d'API) ou de convertir ce fichier en un tableau d'images pour l'afficher sous forme de curseur.


Il semble qu'il soit possible de créer une version "incorporée" du lien en utilisant "createLink" une fois que vous avez copié le fichier sur One Drive via l'API.


Oui peut-être, mais cela nécessiterait de racheter un espace sur OneDrive et cela entraînerait un autre niveau de complications.


Si vous préférez convertir des fichiers PPTX en images, il semble y avoir une multitude d'options sur github ( github.com/search?q=ppt+to+image ) et certaines API commerciales ( développeurs.zamzar.com ).


Avez-vous un exemple de code sur la conversion de fichiers PPT en images?


Désolé, non, non.



1
votes

Si vous avez un backend, il est construit avec node.js et vous aurez un contrôle total sur le serveur de production (c'est-à-dire capable d'installer le logiciel là-bas), vous pouvez essayer de convertir en png en utilisant le paquet ppt-png . Sous le capot, il utilise libreoffice pour la conversion ppt-pdf, puis imagemagick pour la conversion pdf-png et c'est la meilleure approche de la tâche.


2 commentaires

Je pense que cela pourrait être la seule façon de procéder, et j'ai le contrôle sur le backend, cependant, il est construit avec PHP: (Je vais essayer de comprendre comment le faire côté serveur et renvoyer le PNG à l'interface.


@Ruby combinant ces deux bibliothèques pourrait faire l'affaire: office-converter , pdf-to-image . Ils utilisent le même principe et nécessitent d'installer libreoffice, imagick et ghostscript



0
votes

J'ai également eu ce problème similaire. Le problème est avec cette partie src=[${linkToPPTFile}] de votre iframe src. Retirez les supports de la boîte. Cela devrait simplement être:

<iframe src={ https://view.officeapps.live.com/op/embed.aspx?src= $ {linkToPPTFile} } width="100%" height="600px" frameBorder="0" > </iframe>


0 commentaires