欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實現(xiàn)在PDF文檔中應(yīng)用多種不同字體

 更新時間:2022年01月21日 11:22:58   作者:E-iceblue  
在PDF文檔中,可繪制不同字體樣式、不同語言的文字,可通過使用Standard字體、TrueType字體、CJK字體或者自定義(私有)等字體類型。本文將具體介紹實現(xiàn)的方法,需要的可以參考一下

引入dll

 本次程序中引入的是Spire.Pdf.dll,引入方法如下:

【方法1】通過NuGet安裝。

可以在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“管理NuGet包”,然后搜索“Free Spire.PDF”,點擊“安裝”。

也可以將以下內(nèi)容復(fù)制到PM控制臺安裝:

Install-Package FreeSpire.PDF -Version 7.8.9

【方法2】手動安裝。

可通過手動下載Free Spire.PDF for .NET包,然后解壓,找到BIN文件夾下的Spire.Pdf.dll。在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程序。

應(yīng)用字體

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace ApplyFonts
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建PdfDocument對象
            PdfDocument pdf = new PdfDocument();

            //添加一頁
            PdfPageBase page = pdf.Pages.Add();

            //初始化y坐標
            float y = 30;

            //使用standard字體繪制文字
            PdfFont standardFont = new PdfFont(PdfFontFamily.Helvetica, 14f);
            page.Canvas.DrawString("Standard Font - Helvetica", standardFont, PdfBrushes.Black, 0, y);
            standardFont = new PdfFont(PdfFontFamily.TimesRoman, 14f);
            page.Canvas.DrawString("Standard Font - Times_Roman", standardFont, PdfBrushes.Black, 0, (y = y + 16));
            standardFont = new PdfFont(PdfFontFamily.Courier, 14f);
            page.Canvas.DrawString("Standard Font - Courier", standardFont, PdfBrushes.Black, 0, (y = y + 16));

            //使用true type字體繪制文字           
            PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(new Font("Arial", 12f), true);
            page.Canvas.DrawString("TrueType Font - Arial", trueTypeFont, PdfBrushes.Blue, 0, (y = y + 30f));

            /*//使用私有字體繪制文字
            string fontFileName = "C:\\Users\\Administrator\\Desktop\\fontfile.ttf";
            trueTypeFont = new PdfTrueTypeFont(fontFileName, 14f);
            page.Canvas.DrawString("Private Font: 私有字體", trueTypeFont, PdfBrushes.DarkGreen, 0, (y = y + 30f));
            */

            //使用cjk字體繪制文字
            PdfCjkStandardFont cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.MonotypeHeiMedium, 14f);
            page.Canvas.DrawString("你 好", cjkFont, PdfBrushes.DeepPink, 0, (y = y + 30f));
            cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.HanyangSystemsGothicMedium, 14f);
            page.Canvas.DrawString("こんにちは", cjkFont, PdfBrushes.OrangeRed, 0, (y = y + 16f));
            cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.HanyangSystemsShinMyeongJoMedium, 14f);
            page.Canvas.DrawString("?????", cjkFont, PdfBrushes.Purple, 0, (y = y + 16f));

            //保存文檔
            pdf.SaveToFile("ApplyFonts.pdf",FileFormat.PDF);
            System.Diagnostics.Process.Start("ApplyFonts.pdf");
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing

Namespace ApplyFonts
    Class Program
        Private Shared Sub Main(args As String())
            '創(chuàng)建PdfDocument對象
            Dim pdf As New PdfDocument()

            '添加一頁
            Dim page As PdfPageBase = pdf.Pages.Add()

            '初始化y坐標
            Dim y As Single = 30

            '使用standard字體繪制文字
            Dim standardFont As New PdfFont(PdfFontFamily.Helvetica, 14F)
            page.Canvas.DrawString("Standard Font - Helvetica", standardFont, PdfBrushes.Black, 0, y)
            standardFont = New PdfFont(PdfFontFamily.TimesRoman, 14F)
            page.Canvas.DrawString("Standard Font - Times_Roman", standardFont, PdfBrushes.Black, 0, (InlineAssignHelper(y, y + 16)))
            standardFont = New PdfFont(PdfFontFamily.Courier, 14F)
            page.Canvas.DrawString("Standard Font - Courier", standardFont, PdfBrushes.Black, 0, (InlineAssignHelper(y, y + 16)))

            '使用true type字體繪制文字           
            Dim trueTypeFont As New PdfTrueTypeFont(New Font("Arial", 12F), True)
            page.Canvas.DrawString("TrueType Font - Arial", trueTypeFont, PdfBrushes.Blue, 0, (InlineAssignHelper(y, y + 30F)))

            '//使用私有字體繪制文字
'            string fontFileName = "C:\\Users\\Administrator\\Desktop\\fontfile.ttf";
'            trueTypeFont = new PdfTrueTypeFont(fontFileName, 14f);
'            page.Canvas.DrawString("Private Font: 私有字體", trueTypeFont, PdfBrushes.DarkGreen, 0, (y = y + 30f));
'            


            '使用cjk字體繪制文字
            Dim cjkFont As New PdfCjkStandardFont(PdfCjkFontFamily.MonotypeHeiMedium, 14F)
            page.Canvas.DrawString("你 好", cjkFont, PdfBrushes.DeepPink, 0, (InlineAssignHelper(y, y + 30F)))
            cjkFont = New PdfCjkStandardFont(PdfCjkFontFamily.HanyangSystemsGothicMedium, 14F)
            page.Canvas.DrawString("こんにちは", cjkFont, PdfBrushes.OrangeRed, 0, (InlineAssignHelper(y, y + 16F)))
            cjkFont = New PdfCjkStandardFont(PdfCjkFontFamily.HanyangSystemsShinMyeongJoMedium, 14F)
            page.Canvas.DrawString("?????", cjkFont, PdfBrushes.Purple, 0, (InlineAssignHelper(y, y + 16F)))

            '保存文檔
            pdf.SaveToFile("ApplyFonts.pdf", FileFormat.PDF)
            System.Diagnostics.Process.Start("ApplyFonts.pdf")
        End Sub
        Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, value As T) As T
            target = value
            Return value
        End Function
    End Class
End Namespace

繪制效果

以上就是C#實現(xiàn)在PDF文檔中應(yīng)用多種不同字體的詳細內(nèi)容,更多關(guān)于C# PDF應(yīng)用不同字體的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • c#刪除指定文件夾中今天之前的文件

    c#刪除指定文件夾中今天之前的文件

    本文主要介紹了c#刪除指定文件夾中今天之前文件的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • WinForm使用DecExpress控件中的ChartControl插件繪制圖表

    WinForm使用DecExpress控件中的ChartControl插件繪制圖表

    這篇文章介紹了WinForm使用DecExpress控件中的ChartControl插件繪制圖表的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • c#實現(xiàn)一個超實用的證件照換底色小工具(附源碼)

    c#實現(xiàn)一個超實用的證件照換底色小工具(附源碼)

    這篇文章主要給大家介紹了關(guān)于利用c#實現(xiàn)一個超實用的證件照換底色小工具的相關(guān)資料,通過這個小工具大家可以很方便的進行底色的切換,不用再因為底色的原因頭疼了,需要的朋友可以參考借鑒,下面來一起學習學習吧。
    2018-01-01
  • C# async/await任務(wù)超時處理的實現(xiàn)

    C# async/await任務(wù)超時處理的實現(xiàn)

    本文主要介紹了C# async/await任務(wù)超時處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • C#實現(xiàn)騎士飛行棋

    C#實現(xiàn)騎士飛行棋

    這篇文章主要為大家詳細介紹了C#實現(xiàn)騎士飛行棋,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Unity實現(xiàn)主角移動與攝像機跟隨

    Unity實現(xiàn)主角移動與攝像機跟隨

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)主角移動與攝像機跟隨,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • C#線程池ThreadPool用法簡介

    C#線程池ThreadPool用法簡介

    這篇文章介紹了C#線程池ThreadPool的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#中查找Dictionary中重復(fù)值的方法

    C#中查找Dictionary中重復(fù)值的方法

    這篇文章主要介紹了C#中查找Dictionary中重復(fù)值的方法,有需要的朋友可以參考一下
    2014-01-01
  • Unity?UGUI的Text文本組件使用示例

    Unity?UGUI的Text文本組件使用示例

    這篇文章主要為大家介紹了Unity?UGUI的Text文本組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 基于C#的socket編程的TCP異步的實現(xiàn)代碼

    基于C#的socket編程的TCP異步的實現(xiàn)代碼

    本篇文章主要介紹了基于C#的socket編程的TCP異步的實現(xiàn)代碼,詳解的講訴了TCP通信異步的實現(xiàn),有興趣的可以了解一下。
    2016-11-11

最新評論