簡體   English   中英

獲取PDF中的書簽坐標

[英]Get bookmark coordinates in PDF

我正在將簽名圖像放置到PDF的確切位置。 在PDF中,我添加了報告工具書簽,因此我可以知道在何處放置簽名圖像。 問題是我不知道如何獲取書簽坐標。 ITextsharp可能?

------>編輯書簽的圖片

在此處輸入圖片說明

----->編輯

解決方法是:

        PdfReader pdfReader = new PdfReader(GlobalVars.PdfFile);
        IList<Dictionary<string, object>> bookmarks = SimpleBookmark.GetBookmark(pdfReader);
        string BookmarkID = "";
        for (int j = 0; j < bookmarks.Count; j++)
        {
            //MessageBox.Show(bookmarks[i].Values.ToArray().GetValue(0).ToString());
            string s = bookmarks[j].Values.ToArray().GetValue(0).ToString();
            if (bookmarks[j].Values.ToArray().GetValue(0).ToString() == "##PODPIS##")
            {
                BookmarkID = bookmarks[j].Values.ToArray().GetValue(1).ToString();
            }


        }

        var map = SimpleNamedDestination.GetNamedDestination(pdfReader, true);
        foreach (KeyValuePair<string, string> entry in map)
        {
            if (entry.Key.ToString() == BookmarkID)
            {
                string[] LocationArray = entry.Value.Split(null);
                GlobalVars.SignatuePageNumber = Convert.ToInt32(LocationArray[0]);
                GlobalVars.SignatureX = float.Parse(LocationArray[2], CultureInfo.InvariantCulture.NumberFormat);
                GlobalVars.SignatureY = float.Parse(LocationArray[3], CultureInfo.InvariantCulture.NumberFormat);
            }
        }

解決方法是:

        PdfReader pdfReader = new PdfReader(GlobalVars.PdfFile);
        IList<Dictionary<string, object>> bookmarks = SimpleBookmark.GetBookmark(pdfReader);
        string BookmarkID = "";
        for (int j = 0; j < bookmarks.Count; j++)
        {
            //MessageBox.Show(bookmarks[i].Values.ToArray().GetValue(0).ToString());
            string s = bookmarks[j].Values.ToArray().GetValue(0).ToString();
            if (bookmarks[j].Values.ToArray().GetValue(0).ToString() == "##PODPIS##")
            {
                BookmarkID = bookmarks[j].Values.ToArray().GetValue(1).ToString();
            }


        }

        var map = SimpleNamedDestination.GetNamedDestination(pdfReader, true);
        foreach (KeyValuePair<string, string> entry in map)
        {
            if (entry.Key.ToString() == BookmarkID)
            {
                string[] LocationArray = entry.Value.Split(null);
                GlobalVars.SignatuePageNumber = Convert.ToInt32(LocationArray[0]);
                GlobalVars.SignatureX = float.Parse(LocationArray[2], CultureInfo.InvariantCulture.NumberFormat);
                GlobalVars.SignatureY = float.Parse(LocationArray[3], CultureInfo.InvariantCulture.NumberFormat);
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM