2017-04-24 18 views
0

Ich bin sehr vertraut mit der Generierung von PDF aus mehreren Formen. In der Tat habe ich nie eine PDF mit irgendeiner Art von Programmiersprache erzeugt. Jetzt habe ich 2 verschiedene Methoden für das, was ich machen möchte, ausprobiert. Leider habe ich nach ein paar Tagen noch nicht herausgefunden, wie das geht.C# ASP.NET MVC Erstellen PDF aus Sicht Rotativa oder iTextSharp?

Ich habe mehrere Formulare mit Daten im Voraus in denen mit 3 verschiedenen Listen gefüllt, jetzt möchte ich eine PDF dieses Formulars generieren und ich habe Rotativa dafür verwendet. Leider, sobald ich die Methode zum Generieren der PDF-Datei aufrufen, generiert es eine PDF der Ansicht, aber die Daten fehlen. Mit iTextSharp könnte ich die Daten von einer einzelnen Liste haben, nicht alle von ihnen, auch ich weiß nicht, ob es möglich ist, diese PDF auf dem Server mit iTextSharp zu speichern.

F1: Welche Methode sollte ich verwenden? Was schlagen Sie vor? mit Rotativa oder iTextSharp?

Q2: Ist das für jemanden ohne viel Erfahrung in der Programmierung machbar oder sollte ich versuchen, einen anderen Weg zu finden? I

F3: Fehle mir noch ein Weg, dies zu tun? Ich würde eine Methode bevorzugen, ohne Software von Drittanbietern zu verwenden.

+0

Zeigen Sie uns den Code, den Sie bisher mit iText geschrieben haben. –

Antwort

1

public byte [] GetPDF (string phtml) sein wird { byte [] bPDF = null;

MemoryStream ms = new MemoryStream(); 
TextReader txtReader = new StringReader(pHTML); 

// 1: create object of a itextsharp document class 
Document doc = new Document(PageSize.A4, 25, 25, 25, 25); 

// 2: we create a itextsharp pdfwriter that listens to the document and directs a XML-stream to a file 
PdfWriter oPdfWriter = PdfWriter.GetInstance(doc, ms); 

// 3: we create a worker parse the document 
HTMLWorker htmlWorker = new HTMLWorker(doc); 

// 4: we open document and start the worker on the document 
doc.Open(); 
htmlWorker.StartDocument(); 

// 5: parse the html into the document 
htmlWorker.Parse(txtReader); 

// 6: close the document and the worker 
htmlWorker.EndDocument(); 
htmlWorker.Close(); 
doc.Close(); 

bPDF = ms.ToArray(); 

return bPDF; 

}

0

Verwenden Sie ITextSharp ist eine .NET PDF-Bibliothek, mit der Sie PDF (Portable Document Format) generieren können.

Also zuerst einmal Referenz von iTextSharp in Ihrem Projekt hinzufügen.

Sie können iTextSharp Referenz mit Paket-Manager abrufen, müssen Sie nur folgenden Befehl ausführen, um Referenz herunterladen und hinzufügen.

PM> Install-Package iTextSharp

Jetzt müssen Sie eine Methode erstellen, die Sie Byte-Array von PDF-Inhalten geben, so dass unser Code

Verwandte Themen