0

以下のようなコードを用意します。

    var workStream = new MemoryStream();
    var doc = new Document(PageSize.LETTER, 10, 10, 42, 35);
    PdfWriter.GetInstance(doc, workStream).CloseStream = false;
    doc.Open();
    var builder = new StringBuilder();
    builder.Append("MY LONG HTML TEXT");
    var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(builder.ToString()), null);
    foreach (var htmlElement in parsedHtmlElements)
        doc.Add(htmlElement);
    doc.Close();
    byte[] byteInfo = workStream.ToArray();
    workStream.Write(byteInfo, 0, byteInfo.Length);
    workStream.Position = 0;
    return new FileStreamResult(workStream, "application/pdf")

そして問題-私は私のpdfにいくつかのポーランド語の文字( "ą"、 "ę"など)を入れたいです。それを行う方法は?

4

1 に答える 1

1

フォントを登録してから、スタイルシートを使用してエンコーディングを指定する必要があります。

FontFactory.Register("c:\\windows\\fonts\\tahoma.ttf");

StyleSheet styles = new StyleSheet();
styles.LoadTagStyle(HtmlTags.BODY, HtmlTags.FONTFAMILY, "tahoma");
styles.LoadTagStyle(HtmlTags.BODY, HtmlTags.ENCODING, "Identity-H");               

var html = @"data";
var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(html), styles);
于 2012-04-14T04:06:40.187 に答える