如何在pdf生成器中添加自定义字体

时间:2017-02-13 06:57:19

标签: c# pdf model-view-controller fonts itext

我正在尝试添加自定义字体" Ubuntu-Medium.tff"在我的pdf生成器功能  我使用了以下代码

public override void OnOpenDocument(PdfWriter writer, Document document)
        {
            try
            {
                PrintTime = DateTime.Now;
                BaseFont  bf =aseFont.CreateFont("..\\Content\\Fonts\\Ubuntu - Medium.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
               PdfContentByte cb = writer.DirectContent;
                headerTemplate = cb.CreateTemplate(document.PageSize.Width, document.PageSize.Height);
                footerTemplate = cb.CreateTemplate(document.PageSize.Width, document.PageSize.Height);
            }
            catch (DocumentException de)
            {

            }
            catch (System.IO.IOException ioe)
            {

            }
        }

但是当我尝试运行我的解决方案时,它会抛出一个错误 " .. \ Content \ Fonts \ Ubuntu - 未找到Medium.ttf作为文件或资源。"

我只想在我的pdf中使用Ubuntu - Medium.ttf字体。请指导我

1 个答案:

答案 0 :(得分:0)

我知道这个问题有一定的年龄,并且不知道你是否有解决方案。

您是否尝试将该文件作为资源添加到解决方案并调用资源,如下例所示?

BaseFont bf = Properties.Resources.YourResourceName;

如果这不起作用,请记住输出目录中存在的文件需要正常工作,因此在我的一个解决方案中,我将该文件作为嵌入式资源。如果嵌入式资源不适合您,请将“复制到输出目录”更改为“如果更新则复制”或“始终复制”。