2016-08-02 5 views
0

リッチテキストボックスを使用してテキストブロックを作成し、データベースに保存します。その後、私は文字列でPDFを作成しようとしています。PDFSharpリッチテキスト文字列の解析

私の問題は、書式設定された文字列をPDFに表示する方法が見つからないことです。正しく使用する代わりに、すべて< p>などが表示されます。 PDFsharpでそれができない場合、他の可能性はありますか?

// Create a new PDF document 
PdfDocument document = new PdfDocument(); 

// Create an empty page    
PdfPage oPage = document.AddPage(); 

// Get an XGraphics object for drawing 
XGraphics gfx = XGraphics.FromPdfPage(oPage); 

//Drawing Images and Rectangles and other things 


//sText is just an example of what my DB string looks like 
string sText = "<p>Here you can see formattet text<\p> \n 
always multiple rows and some g&uuml; or /r" 


gfx.DrawString(sText, NormalText, XBrushes.Black, new XRect(XUnit.FromCentimeter(3.2), XUnit.FromCentimeter(16.35), oPage.Width, oPage.Height), null); 


// Send PDF to browser 
MemoryStream stream = new MemoryStream(); 
document.Save(stream, false); 
Response.Clear(); 
Response.ContentType = "application/pdf"; 
Response.AddHeader("content-length", stream.Length.ToString()); 
Response.BinaryWrite(stream.ToArray()); 
Response.Flush(); 
stream.Close(); 
Response.End(); 
+0

はhtmlタグをpdfsharpで解釈できますか? –

+0

私は自分の状況がhtml文字列をexeptするための現時点では最高ですが、それは本当にわかりません。 – MaxW

+0

私は通常あなたが手でそれをすると思います。 PdfSharpには、 'Section'を作成し、ページに' Paragraphs'を追加してこのように構造化する方法があります。 [this](http://www.pdfsharp.net/wiki/invoice-sample.ashx)を見てください。 –

答えて

0

を助けるかもしれないので、私は答えを見つけました。 PDFSharpは\n \t \rをサポートするXTextFormatter tf = new XTextFormatter(gfx); を持っていますので、私はrichtextboxの魔法使いを通常のテキストボックスに置き換えています。

1

残念ながらPDFSharpは、HTMLタグをサポートしていません:

はこのpostで回答を見てください。 PDFSharpが提供する方法を使用して手作業で行う必要があります。

編集:HTMLタグを保存する必要がある場合は、Converterを使用します。

Hereは、このトピックに関するかなり古い投稿です。 PDFSharpについては

このpostで回答は

+0

テキストは手で変更されるので、完璧な解決策ではありません。/ – MaxW

+0

私の回答を編集しましたが、この問題のいくつかの回避策があるようです。 –

+0

hm ok私は自分のテキストを作成するための他の姿勢を見つけようとしているようです。 – MaxW