我想使用PDFsharp将文本文件转换为PDF。该方法应该是什么?它甚至可能吗?我正在使用C#.net
开发Web应用程序答案 0 :(得分:4)
方法是检查PDFsharp和MigraDoc的样本,然后决定使用哪种工具。
如果文字可能只需要一页,我猜想MigraDoc将是更好的选择。
答案 1 :(得分:1)
我为此目的写了一段代码。
最初,我使用了pdfsharp dll,但这对我不起作用,因为pdfsharp无法感知分页符,当我编写代码时,我看到只打印了第一页中的那些。
然后我了解到Migradoc确实可以感知分页符并在需要时自动添加新页面。
这是我的方法,有两个参数:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using MigraDoc.DocumentObjectModel;
using MigraDoc.Rendering;
using System.IO;
void CreatePDFFileFromTxtFile(string textfilefullpath, string pdfsavefullpath)
{
//first read text to end add to a string list.
List<string> textFileLines = new List<string>();
using (StreamReader sr = new StreamReader(textfilefullpath))
{
while (!sr.EndOfStream)
{
textFileLines.Add(sr.ReadLine());
}
}
Document doc = new Document();
Section section = doc.AddSection();
//just font arrangements as you wish
MigraDoc.DocumentObjectModel.Font font = new Font("Times New Roman", 15);
font.Bold = true;
//add each line to pdf
foreach (string line in textFileLines)
{
Paragraph paragraph = section.AddParagraph();
paragraph.AddFormattedText(line,font);
}
//save pdf document
PdfDocumentRenderer renderer = new PdfDocumentRenderer();
renderer.Document = doc;
renderer.RenderDocument();
renderer.Save(pdfsavefullpath);
}
并使用输入文本完整路径调用此方法并输出pdf文件完整路径以进行创建。
这很有效。