web-dev-qa-db-fra.com

Afficher PDF dans le cadre de la page

J'essaie d'afficher un document PDF dans ma page Web MVC, mais je ne peux pas le faire fonctionner.

Je voudrais que le PDF soit affiché comme faisant partie des autres éléments de la page (en-tête, pied de page, etc.). Actuellement, j'ai une solution où le PDF est affiché, mais sur toute la page.

Quelqu'un at-il fait cela, si oui, alors comment?

21
Peter

Pourquoi n'essayez-vous pas d'utiliser iframe comme ceci:

<iframe src="even file stream action url"></iframe>

Je suggère d'utiliser la balise d'objet si c'est possible, utilisez iframe juste pour les tests.

Si vous souhaitez afficher PDF comme partie de la page comme vous venez de le faire

src = '<% Html.RenderAction ("GetPDF"); %> '

Ensuite, c'est votre option

Si vous avez besoin d'un contrôle complet sur le contenu PDF en utilisant CSS ou quoi que ce soit, comme Google books et ainsi de suite, vous avez besoin d'outils qui vous aident à convertir chaque page demandée de PDF en texte brut, HTML ou même image . des outils comme PDFsharp. Rechercher des outils sur Google

Si vous souhaitez afficher PDF dans le cadre de la page, voici ce que vous devez faire

ASPX: src="<%= Url.Action("GetPDF") %>"
Razor: src="@Url.Action("GetPDF")"

Et la réponse finale pourrait être

<object data="<%= Url.Action("GetPDF") %>" type="application/pdf" width="300" height="200">
    alt : <a href="data/test.pdf">test.pdf</a>
</object>

Et dans le cas où vous souhaitez renvoyer PDF en tant que Stream, vous devez

public FileStreamResult GetPDF()
{
    FileStream fs = new FileStream("c:\\PeterPDF2.pdf", FileMode.Open, FileAccess.Read);
    return File(fs, "application/pdf");
}
42
Beygi