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

C#提取PDF中指定文本與圖片坐標(biāo)的示例代碼

 更新時間:2023年12月17日 09:29:01   作者:E-iceblue  
這篇文章主要為大家詳細(xì)介紹了如何使用國產(chǎn)PDF庫通過C# 提取PDF中指定文本或圖片的坐標(biāo)位置(X, Y軸),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

獲取PDF文件中文字或圖片的坐標(biāo)可以實(shí)現(xiàn)精確定位,這對于快速提取指定區(qū)域的元素,以及在PDF中添加注釋、標(biāo)記或自動蓋章等操作非常有用。本文將詳解如何使用國產(chǎn)PDF庫通過C# 提取PDF中指定文本或圖片的坐標(biāo)位置(X, Y軸)。

用于操作PDF文件的第三方庫為Spire.PDF for .NET。可以下載產(chǎn)品包后手動安裝或者直接通用Nuget安裝。

開始前我們首先了解該庫關(guān)于PDF中坐標(biāo)系的一些信息:

Spire.PDF for .NET使用 PdfPageBase 類表示PDF頁面,由內(nèi)容區(qū)域和四周的頁邊距組成。頁面上坐標(biāo)系的原點(diǎn)位于內(nèi)容區(qū)域的左上角,x 軸從原點(diǎn)開始水平向右延伸,y 軸從原點(diǎn)開始垂直向下延伸 (如下圖所示)。

通過指定坐標(biāo)XY軸,我們可以在PDF頁面指定位置處繪制文本圖片、表格等元素。當(dāng)然Spire.PDF for .NET也提供了相應(yīng)的接口來幫助大家獲取已有PDF文件中指定文本或圖片的坐標(biāo)信息。具體操作如下。

C# 獲取 PDF 中指定文本的坐標(biāo)

要指定文本的坐標(biāo),主要分為兩步實(shí)現(xiàn):

  • 首先需要使用 PdfTextFinder.Find() 方法查找PDF文件中所有指定文本;
  • 查找到文本后,再通過 PdfTextFragment.Positions 屬性進(jìn)一步獲取其 (X, Y) 坐標(biāo)信息。

代碼:

using Spire.Pdf;
using Spire.Pdf.Texts;
using System.Drawing;
 
namespace GetCoordinatesOfText
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建PdfDocument對象
            PdfDocument pdf = new PdfDocument();
 
            //加載PDF文件
            pdf.LoadFromFile("大數(shù)據(jù).pdf");
 
            //遍歷所有頁面
            foreach (PdfPageBase page in pdf.Pages)
            {
                //創(chuàng)建PdfTextFinder對象
                PdfTextFinder finder = new PdfTextFinder(page);
 
                //設(shè)置查找選項(xiàng)
                PdfTextFindOptions options = new PdfTextFindOptions();
                options.Parameter = TextFindParameter.IgnoreCase;
                finder.Options = options;
 
                //查找頁面中所有指定文本
                List<PdfTextFragment> fragments = finder.Find("海量");
 
                //遍歷所有查找的文本
                foreach (PdfTextFragment fragment in fragments)
                {
                    //獲取文本的坐標(biāo)信息
                    PointF found = fragment.Positions[0];
                    Console.WriteLine(found);
                }
            }
        }
    }
}

C# 獲取 PDF 中指定圖片的坐標(biāo)

與獲取文字坐標(biāo)類似,獲取圖片坐標(biāo)主要也分為兩步:

  • 首先使用 PdfImageHelper.GetImagesInfo() 方法獲取某個PDF頁面中所有圖片信息;
  • 獲取圖片后,再通過 PdfImageInfo.Bounds 屬性獲取其 (X, Y) 坐標(biāo)信息。

代碼:

using Spire.Pdf;
using Spire.Pdf.Utilities;
using System;
 
namespace GetCoordinatesOfImage
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建PdfDocument對象
            PdfDocument pdf = new PdfDocument();
 
            //加載PDF文件
            pdf.LoadFromFile("大數(shù)據(jù).pdf");
 
            //獲取指定頁面
            PdfPageBase page = pdf.Pages[0];
 
            //創(chuàng)建PdfImageHelper對象
            PdfImageHelper helper = new PdfImageHelper();
 
            //獲取頁面中的圖片信息
            PdfImageInfo[] images = helper.GetImagesInfo(page);
 
            //獲取第一張圖片的 X、Y 坐標(biāo)
            float xPos = images[0].Bounds.X;
            float yPos = images[0].Bounds.Y;
            Console.WriteLine("圖片坐標(biāo)為({0},{1})", xPos, yPos);
        }
    }
}

加載的示例文檔:

獲取PDF中文字坐標(biāo)的返回結(jié)果:

獲取PDF中圖片坐標(biāo)的返回結(jié)果:

到此這篇關(guān)于C#提取PDF中指定文本與圖片坐標(biāo)的示例代碼的文章就介紹到這了,更多相關(guān)C#提取PDF文本與圖片坐標(biāo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c# 根據(jù)NPOI 讀取一個excel 文件的多個Sheet

    c# 根據(jù)NPOI 讀取一個excel 文件的多個Sheet

    這篇文章主要介紹了c# 根據(jù)NPOI 讀取一個excel 文件的多個Sheet,幫助大家更好的利用c#處理excel表格,感興趣的朋友可以了解下
    2020-12-12
  • C#實(shí)現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換

    C#實(shí)現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換

    這篇文章介紹了C#實(shí)現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#封裝的Sqlite訪問類實(shí)例

    C#封裝的Sqlite訪問類實(shí)例

    這篇文章主要介紹了C#封裝的Sqlite訪問類,實(shí)例分析了C#針對Sqlite數(shù)據(jù)庫各種常用操作的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • 利用C#編寫Linux守護(hù)進(jìn)程實(shí)例代碼

    利用C#編寫Linux守護(hù)進(jìn)程實(shí)例代碼

    如今的編程是一場程序員和上帝的競賽,程序員要開發(fā)出更大更好、傻瓜都會用到軟件,下面這篇文章主要給大家介紹了關(guān)于利用C#編寫Linux守護(hù)進(jìn)程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-01-01
  • WPF ProgressBar實(shí)現(xiàn)實(shí)時進(jìn)度效果

    WPF ProgressBar實(shí)現(xiàn)實(shí)時進(jìn)度效果

    這篇文章主要介紹了WPF ProgressBar實(shí)現(xiàn)實(shí)時進(jìn)度效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 基于WPF實(shí)現(xiàn)數(shù)字框控件

    基于WPF實(shí)現(xiàn)數(shù)字框控件

    這篇文章主要介紹了如何利用WPF實(shí)現(xiàn)數(shù)字框控件,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定的幫助,需要的小伙伴可以參考一下
    2023-08-08
  • C#利用Refit實(shí)現(xiàn)JWT自動續(xù)期詳解

    C#利用Refit實(shí)現(xiàn)JWT自動續(xù)期詳解

    Refit?是一個受到Square的Retrofit庫(Java)啟發(fā)的自動類型安全REST庫,這篇文章主要為大家介紹了C#如何利用Refit實(shí)現(xiàn)JWT自動續(xù)期,感興趣的可以了解下
    2023-08-08
  • c#編寫的番茄鐘倒計(jì)時器代碼

    c#編寫的番茄鐘倒計(jì)時器代碼

    番茄鐘是老外做飯用的一個廚具,比如蒸包子,水開后再蒸十分鐘,就把番茄鐘擰一下擰到10的刻度上,然后番茄鐘就嗒嗒嗒的慢慢歸位,等到十分鐘后完全歸位,然后就叮的響一聲,提醒老外把火關(guān)掉。
    2015-03-03
  • C#內(nèi)置泛型委托之Func委托

    C#內(nèi)置泛型委托之Func委托

    這篇文章介紹了C#內(nèi)置泛型委托之Func委托的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 使用C#開發(fā)ActiveX控件

    使用C#開發(fā)ActiveX控件

    activex控件以前也叫做ole控件,它是微軟ie支持的一種軟件組件或?qū)ο?,可以將其插入到web頁面中,實(shí)現(xiàn)在瀏覽器端執(zhí)行動態(tài)程序功能,以增強(qiáng)瀏覽器端的動態(tài)處理能力。通常activex控件都是用c++或vb語言開發(fā),本文介紹另一種方式,使用c#語言開發(fā)activex控件。
    2017-02-02

最新評論

房产| 广东省| 东方市| 固始县| 确山县| 屏南县| 万山特区| 五河县| 胶南市| 师宗县| 出国| 万载县| 吉林省| 彭阳县| 承德市| 洪洞县| 康定县| 祁门县| 湾仔区| 枣阳市| 浏阳市| 札达县| 昌图县| 武穴市| 西吉县| 玛沁县| 盐池县| 陆川县| 博爱县| 尉犁县| 怀仁县| 古田县| 峨眉山市| 舟曲县| 巫山县| 洛阳市| 德昌县| 光泽县| 丹巴县| 陵川县| 融水|