本文介绍了iTextSharp的5润色人物的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用iTextSharp的抛光人品问题。我想创建HTML PDF。一切工作正常,但抛光性格丢失。我使用功能低:

 私人无效createPDF(字符串HTML)
    {
        // MemoryStream的msOutput =新的MemoryStream();
        读者的TextReader =新StringReader(HTML); //第1步:创建一个文件对象的
        文档的文档=新的文件(PageSize.A4,30,30,30,30);        // 第2步:
        //我们创建侦听到文档中的作家
        //和指导XML的流文件
        PdfWriter作家= PdfWriter.GetInstance(文件,新的FileStream(的test.pdf,FileMode.Create));        //第3步:我们创建了一个工人解析文档
        HTMLWorker工人=新HTMLWorker(文件);        //步骤4:我们打开文件,并开始对文档的工人
        document.Open();
        worker.StartDocument();        //第5步:解析HTML到文档
        worker.Parse(读卡器);        //步骤6:关闭文档和工人
        worker.EndDocument();
        worker.Close();
        document.Close();
    }

,并尝试使用它:

I try set:

        writer.DirectContent.SetFontAndSize(bf, 16);

But it dosen't work

Do you have any idea??

Regards

解决方案

Just to roll together what @Mark Storer said:

private void createPDF(string html)
{
    //MemoryStream msOutput = new MemoryStream();
    TextReader reader = new StringReader(html);// step 1: creation of a document-object
    Document document = new Document(PageSize.A4, 30, 30, 30, 30);

    // step 2:
    // we create a writer that listens to the document
    // and directs a XML-stream to a file
    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("Test.pdf", FileMode.Create));

    // step 3: we create a worker parse the document
    HTMLWorker worker = new HTMLWorker(document);

    // step 4: we open document and start the worker on the document
    document.Open();

    // step 4.1: register a unicode font and assign it an allias
    FontFactory.Register("C:\\Windows\\Fonts\\ARIALUNI.TTF", "arial unicode ms");

    // step 4.2: create a style sheet and set the encoding to Identity-H
    iTextSharp.text.html.simpleparser.StyleSheet ST = New iTextSharp.text.html.simpleparser.StyleSheet();
    ST.LoadTagStyle("body", "encoding", "Identity-H");

    // step 4.3: assign the style sheet to the html parser
    worker.Style = ST;

    worker.StartDocument();

    // step 5: parse the html into the document
    worker.Parse(reader);

    // step 6: close the document and the worker
    worker.EndDocument();
    worker.Close();
    document.Close();
}

And when you call it wrap your text in a font using the name you registered above:

createPDF("<font face=""arial unicode ms"">ĄąćęĘłŁŃńóÓŚśŹźŻż</font>");

这篇关于iTextSharp的5润色人物的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 16:23