Dies ist mein Code:Hinzufügen von Text zu einer PDF-Datei aus einer Textdatei
using (FileStream msReport = new FileStream(pdfPath, FileMode.Create))
{
//step 1
using (Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 140f, 10f))
{
try
{
// step 2.
StreamReader sr = new StreamReader("TextFile.txt");
string line;
PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDoc, msReport);
pdfWriter.PageEvent = new ITextEvents();
//open the stream
pdfDoc.Open();
for (int i = 0; i < 100; i++)
{
if ((line = sr.ReadLine()) != null)
{
Paragraph para = new Paragraph(line, new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 6));
para.Alignment = Element.ALIGN_LEFT;
pdfDoc.Add(para);
//pdfDoc.NewPage();
}
}
sr.Close();
pdfDoc.Close();
und es funktioniert ... Es liest die Textdatei, die in meinem Computer und fügt sie in PDF ... Die Problem ist - es behält die Formatierung nicht aus der Textdatei. Es fügt nur Text hinzu. Und ich muss es so halten wie es ist. Gibt es eine Möglichkeit, die Formatierung des Textes beizubehalten? Kann ich es irgendwie zu einer Tabelle hinzufügen und die Tabelle oder etwas ähnliches formatieren?
* Formatierung des * Text definieren. Die * Formatierung * von sogenanntem Klartext ist normalerweise künstlich. Sprechen Sie über Tabs? Dann müssen Sie sie durch Leerzeichen ersetzen (weil ein Tab-Zeichen in PDF nichts bedeutet). Sprechen Sie über Räume? Dann müssen Sie eine Mono-Space-Schriftart verwenden. Sprechen Sie über Markup (ähnlich wie bei der Erstellung einer Stack Overflow-Frage)? Dann müssen Sie diese Formatierungssyntax zuerst analysieren (mit einem anderen Werkzeug). –
Ich denke, diese Frage ist ein Duplikat von [Konvertieren TXT-Datei in PDF mit iText (Formatierung beibehalten)] (http://StackOverflow.com/Questions/26925856) und dass die tatsächliche Antwort ist die Antwort, die ich auf die Frage [Wie monospaced font mit iTextSharp setzen?] (http://stackoverflow.com/questions/34495221/how-to-set-monospaced-font-by-using-itextsharp) –
Ich hätte konkreter sein sollen, tut mir leid . Der Text ist wie eine Tabelle formatiert, mit verschiedenen Leerzeichen zwischen ... und es ist in C# geschrieben ... – Anioka