我有文本块从PDF文档阅读,使用iTextSharp的库(方法:GetResultantText())C#StringBuilder的:坚持一个StringBuilder对象转换为VARCHAR列 - SQL服务器
考虑文本概述/格式化段:
* “第一个
第二款 ...
段落ñ 。” *
有没有办法使用C#StringBuilder对象,或者可能的替代方法来存储文本,同时保留fomatting ?:包含回车和段落等,并将值存储在SQL Server 08中的一个varchar字段中
最终,我打算将文本存储到varchar字段中,并希望保留换行符,回车[basic fomatting metadata],否则提取的文本是一个单独的文本块,它在呈现时不可读。
我认为调用StringBulder对象上的toString()方法会删除文本中的所有中间格式化字符,而不是终止[newlinecharacter]。
SimpleTextExtractionStrategy strategy;
//StreamWriter writer = new StreamWriter("c:\\pdfOutput.txt");
for (int i = 1; i <= reader.NumberOfPages; i++)
{
try
{
strategy = parser.ProcessContent(i, new SimpleTextExtractionStrategy());
buffer.AppendLine(strategy.GetResultantText());
//writer.WriteLine(strategy.GetResultantText());
}
catch (IndexOutOfRangeException e) { }
}
pdfText = buffer.ToString();
Console.WriteLine("* End: Text Extraction Process ...");
return pdfText = buffer.ToString();
如果我取消注释并输出到文本文件,则会保留该格式。 但是如果我保存生成的文本和实体定义为:我得到的是一个单独的文字块:
[System.Data.Linq.Mapping.Table(Name = "ReportsText")]
public class ReportsText
{
[Column (IsDbGenerated = true, AutoSync=AutoSync.OnInsert)]
public int ID { get; set; }
[Column(IsPrimaryKey = true, AutoSync = AutoSync.OnInsert)]
public String image { get; set; }
[Column] public String announcement { get; set; }
}
所以pdfText是inteded被存储到annouuncement领域。干杯。
我不认为格式化会消失... – soandos 2011-05-31 05:06:46