最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過C#獲取PDF中指定文本或所有文本的字體信息

 更新時(shí)間:2025年01月17日 09:05:10   作者:Eiceblue  
在設(shè)計(jì)和出版行業(yè)中,字體的選擇和使用對(duì)最終作品的質(zhì)量有著重要影響,然而,有時(shí)我們可能會(huì)遇到包含未知字體的PDF文件,這使得我們無法準(zhǔn)確地復(fù)制或修改文檔,本文將介紹如何通過C#獲取PDF中指定文本或所有文本的字體信息,需要的朋友可以參考下

引言

在設(shè)計(jì)和出版行業(yè)中,字體的選擇和使用對(duì)最終作品的質(zhì)量有著重要影響。然而,有時(shí)我們可能會(huì)遇到包含未知字體的PDF文件,這使得我們無法準(zhǔn)確地復(fù)制或修改文檔。獲取PDF中的字體信息可以解決這個(gè)問題,讓我們能夠更好地處理這些文件。無論是用于重新設(shè)計(jì)、文檔翻譯還是個(gè)人學(xué)習(xí),了解如何獲取PDF中的字體信息都是一項(xiàng)非常有用的技能。本文將介紹如何通過C#獲取PDF中指定文本或所有文本的字體信息。

獲取字體的操作需要用到第三方庫 Spire.PDF for .NET,我們可以通過以下鏈接下載產(chǎn)品包后手動(dòng)添加引用,或者直接通過NuGet安裝。

點(diǎn)擊下載 Spire.PDF for.NET

C# 獲取PDF中指定文本的字體信息

通過使用Spire.PDF for .NET提供的 PdfTextFragment 類下的各屬性,我們可以獲取字體名稱、大小、樣式和顏色。主要實(shí)現(xiàn)步驟如下

  1. 加載 PDF 文件,然后獲取指定頁面。
  2. 通過 PdfTextFinder.Find() 方法查找指定文本,并返回一個(gè) PdfTextFragment 對(duì)象。
  3. 創(chuàng)建一個(gè)StringBuilder實(shí)例來存儲(chǔ)信息。
  4. 遍歷所有查找到的文本
  5. 通過 PdfTextFragment.Text 屬性獲取找到的文本內(nèi)容。
  6. 通過 PdfTextFragment.TextStates[0].FontName 屬性獲取找到的文本的字體名稱。
  7. 通過 PdfTextFragment.TextStates[0].FontSize 屬性獲取找到的文本的字體大小。
  8. 通過 PdfTextFragment.TextStates[0].FontFamily 屬性獲取找到的文本的字體類型。
  9. 通過 PdfTextFragment.TextStates[0].IsBold 和 PdfTextFragment.TextStates[0].IsSimulateBold 屬性指示字體是否加粗或模擬加粗(字體樣式設(shè)置為填充和描邊)。
  10. 通過 PdfTextFragment.TextStates[0].IsItalic 屬性指示字體是否為斜體.
  11. 使用 PdfTextFragment.TextStates[0].ForegroundColor 屬性獲取找到的文本的字體顏色。
  12. 將獲取到的字體信息添加到StringBuilder實(shí)例中,然后寫入 txt 文件。

C#代碼:

using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text;

namespace GetTextFont
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加載PDF文件
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("E:\\PythonPDF\\南極.pdf");

            // 獲取第一頁
            PdfPageBase page = pdf.Pages[0];

            // 創(chuàng)建PdfTextFinder實(shí)例
            PdfTextFinder finds = new PdfTextFinder(page);

            // 查找頁面上指定文本
            finds.Options.Parameter = TextFindParameter.None;
            List<PdfTextFragment> result = finds.Find("南極洲");

            // 創(chuàng)建StringBuilder實(shí)例
            StringBuilder str = new StringBuilder();

            // 遍歷所有查找到的文本
            foreach (PdfTextFragment find in result)
            {
                // 獲取文本
                string text = find.Text;
                // 獲取字體名
                string FontName = find.TextStates[0].FontName;
                // 獲取字體大小
                float FontSize = find.TextStates[0].FontSize;
                // 獲取字體類型
                string FontFamily = find.TextStates[0].FontFamily;
                // 判斷是否加粗或模擬加粗
                bool IsBold = find.TextStates[0].IsBold;
                bool IsSimulateBold = find.TextStates[0].IsSimulateBold;
                // 判斷是否為斜體
                bool IsItalic = find.TextStates[0].IsItalic;
                // 獲取字體顏色
                Color color = find.TextStates[0].ForegroundColor;

                // 將獲取到的信息添加到StringBuilder實(shí)例中
                str.AppendLine(text);
                str.AppendLine("字體名: " + FontName);
                str.AppendLine("字體大?。?" + FontSize);
                str.AppendLine("字體系列: " + FontFamily);
                str.AppendLine("是否加粗: " + IsBold);
                str.AppendLine("是否模擬加粗: " + IsSimulateBold);
                str.AppendLine("是否為斜體: " + IsItalic);
                str.AppendLine("字體顏色:" + color);
                str.AppendLine(" ");
            }
            // 寫入一個(gè)txt文件
            File.WriteAllText("Pdf字體.txt", str.ToString());
        }
    }
}

C# 獲取PDF文檔中用到的所有字體信息

PdfUsedFont 類表示PDF文檔中使用到的字體,它提供了不同的屬性來幫助我們獲取字體名稱、大小、類型和樣式等。主要實(shí)現(xiàn)步驟如下:

  1. 加載 PDF 文件。
  2. 通過 PdfDocument.UsedFonts 屬性獲取 PDF 文件中使用的所有字體。
  3. 創(chuàng)建一個(gè)StringBuilder實(shí)例來存儲(chǔ)信息。
  4. 遍歷所有使用到的字體。
  5. 通過 PdfUsedFont.Name 屬性獲取字體名稱。
  6. 通過 PdfUsedFont.Size 屬性獲取字體大小。
  7. 通過 PdfUsedFont.Type 屬性獲取字體類型。
  8. 通過 PdfUsedFont.Style 屬性獲取字體樣式。
  9. 將獲取到的字體信息添加到StringBuilder實(shí)例中,然后寫入 txt 文件。

C#代碼:

using Spire.Pdf;
using Spire.Pdf.Graphics.Fonts;
using Spire.Pdf.Graphics;
using System.IO;
using System.Text;

namespace GetTextFont
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加載PDF文件
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("E:\\PythonPDF\\南極.pdf");

            // 獲取PDF文件中使用到的字體
            PdfUsedFont[] fonts = pdf.UsedFonts;

            // 創(chuàng)建StringBuilder實(shí)例
            StringBuilder str = new StringBuilder();

            // 遍歷所有使用到的字體
            foreach (PdfUsedFont font in fonts)
            {
                // 獲取字體名
                string name = font.Name;

                // 獲取字體大小
                float size = font.Size;

                // 獲取字體類型
                PdfFontType type = font.Type;

                // 獲取字體樣式
                PdfFontStyle style = font.Style;

                // 將獲取到的信息添加到StringBuilder實(shí)例中
                str.AppendLine("字體名稱: " + name + " 字體大?。?" + size + " 字體類型: " + type + " 字體樣式: " + style);

            }

            // 寫入一個(gè)txt文件
            File.WriteAllText("Pdf字體信息.txt", str.ToString());
        }
    }
}

到此這篇關(guān)于通過C#獲取PDF中指定文本或所有文本的字體信息的文章就介紹到這了,更多相關(guān)C#獲取PDF文本信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

昭苏县| 嘉义县| 大兴区| 汉中市| 徐闻县| 息烽县| 乡城县| 潜江市| 清流县| 亳州市| 客服| 达日县| 恭城| 尼玛县| 资源县| 册亨县| 慈溪市| 陇川县| 金坛市| 新竹市| 师宗县| 昌邑市| 涞源县| 枣阳市| 襄城县| 中超| 巴东县| 苗栗市| 定南县| 积石山| 奉化市| 海丰县| 太和县| 射洪县| 通道| 闸北区| 张家界市| 邳州市| 丹江口市| 青海省| 祁门县|