2016-05-22 1 views
0

Ich versuche, ein PDF-Dokument in Rasierer anzeigen, aber die Höhe und Breite angezeigt wird zu klein. Die Höhe ist zu kurz - nur etwa 100px, so dass man so viel scrollen muss, um durch das Dokument zu gehen und der Benutzer wäre nicht in der Lage, das Dokument auf diese Weise richtig zu betrachten. Ich habe versucht, seine Höhe und die Höhe/Breite der enthaltenen css-Elemente auf 100% zu setzen und doch macht es keinen Unterschied.Wie kann ich ein PDF-Dokument als Antwort skalieren 100% das Ansichtsfenster in asp.net C# Rasierer anzeigen

Dies ist der Code, den ich es

<div class="panel-body">  
     <embed src="@ViewBag.sourcePath" type="@ViewBag.resourceType" style="width:100%; height:auto; min-height:100%" /> 
</div> 

sourcepath ist die Lage des Dokuments angezeigt werden zu verwenden versucht.

Dann habe ich zwar die Dimensionen (d. H. Höhe und Breite) des PDF-Dokuments, so dass ich die Anzeigebreite im laufenden Betrieb einstellen kann, aber ich kenne nicht die Methode, um die Abmessungen einer Datei in C# zu erhalten. Wieder meine Angst, es auf diese Weise zu tun, ist, dass ich es reaktionsfähig sein möchte, damit es in verschiedenen Ansichtsfenstern richtig skalieren kann

Ich werde eine Anleitung schätzen, um das zu erreichen. Danke

Antwort

0

Es ist möglich, dass Ihre Panel-Body-Klasse die Eigenschaft height auf 100 px gesetzt hat. Es ist auch möglich, dass das div mit dieser Klasse durch ein anderes div-Element eingeschränkt ist, in dem es enthalten ist.

Trotzdem sollten Sie Ihre CSS-Datei oder Stylingattribute auf der Seite überprüfen. Hier ist ein Beispiel, wie ich meine PDF-Dateien anzeigen kann.

Ausblick:

@{ 
    ViewBag.Title = "ViewPDFB"; 
} 


<style type="text/css"> 
    #pdfbox { 
     width: 100%; 
     height: 1000px; 
     border: 5px solid #ccc; 
    } 
</style> 

<object id='pdfbox' type="application/pdf" data="@Url.Action("ViewPDF", "ControllerName", new { pth = "InputFilePathHere" })"/> 

Controller:

public FileStreamResult ViewPDF(string pth) 
{    
    FileStream fs = new FileStream(pth, FileMode.Open, FileAccess.Read); 
    return File(fs, "application/pdf"); 
} 
+0

Vielen Dank für Ihre Mühe, aber ich habe versucht, Ihre Methode und Stile zu verwenden, und es machte keinen Unterschied machen. Bei der Überprüfung finde ich, dass es einen weiteren HTML-Code und Body-Tags innerhalb des PDF-Dokuments gibt, die innerhalb des div-Bereichs von Panel-Body gerendert werden. Ich wünschte, es gibt eine Möglichkeit, andere Anzeigeelemente der PDF-Datei zu entfernen und nur den Textbereich zu belassen, denn selbst wenn ich den Panel-Body mit einer Höhe von 1000px style, wird das Dokument auf 1000px Höhe gestreckt – Josh

+0

Die Frage reicht nicht aus, um Ihr Problem zu lösen. Bitte überprüfen Sie jedes Element, das Ihr div enthält oder rendert diese Ansicht. Ich bin mir ziemlich sicher, dass du deine Antwort dort finden wirst. – Arthur