2017-03-20 42 views
0

我在iframe中有一個pdf文件,我想檢查pdf文件以知道字段的名稱,以允許用戶從文本框填充這些字段。如何從pdf文件獲取字段名稱?

這是我的iframe和文本框,例如:

<iframe id="frmDoc" runat="server" style="width:800px;height:1200px;"></iframe> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 

,這是顯示在iframe的PDF代碼:

protected void Page_Load(object sender, EventArgs e) 
     { 
      frmDoc.Attributes["src"] = "~/admin/minufia/6 نموذج إحصائي رقم.pdf"; 
     } 

請幫我解決這個問題。

+0

在此示例中,您的文本框不在iframe中。 – ErTR

+0

在對您澄清的答案的評論中:*「我已經有iTextSharp,但我不知道如何使用它來搜索我的pdf文件中的輸入字段」*。如果您使用iTextSharp 5.x,[如何枚舉ITextSharp中的PDF文件中的所有字段](http://stackoverflow.com/q/3041883/1729265)可能對您有所幫助。 – mkl

回答

0

你想做什麼不會是一個簡單的編程任務。 PDF文件格式非常複雜,因此您幾乎可以肯定需要使用第三方代碼庫來讀取/修改PDF的內容。我以前使用過一個名爲iTextSharp的庫,效果不錯,但它需要花費。

一旦找到PDF操作庫並閱讀如何使用它,可以使用它來搜索PDF輸入字段,並讀取/寫入文件中這些字段的值。但是,您可能必須自己編寫所有Web代碼才能獲取用戶輸入並將它們傳遞到您的PDF代碼庫中。

+0

我已經有iTextSharp,但我不知道如何使用它來搜索我的pdf文件中的輸入字段 –

+0

@MahmoudAbdo請在問題中添加重要信息,例如您所選擇的PDF庫,並相應地更新標籤。請指出您使用的iText版本。 – mkl

0

你可以看看Spire.PDF。它提供了豐富的功能來處理.NET應用程序中的PDF文件。它有商業和free versions。 檢查下面的代碼,看看它是否有幫助,我假設你提到的字段類型是文本框字段。

//Load the PDF document 
     PdfDocument document = new PdfDocument("Input.pdf"); 

     //Load the existing forms 
     PdfFormWidget loadedForm = document.Form as PdfFormWidget; 

     //Go through the forms 
     for (int i = 0; i < loadedForm.FieldsWidget.List.Count; i++) 
     {     
      PdfField field = loadedForm.FieldsWidget.List[i] as PdfField; 
      //Fill textbox form field 
      if (field is PdfTextBoxFieldWidget) 
      { 
       PdfTextBoxFieldWidget textField = field as PdfTextBoxFieldWidget; 
       //Get the field name and fill with content 
       switch (textField.Name) 
       { 
        case "fieldName": 
         textField.Text = "text"; 
         break; 
        //``` 
       } 
      } 
     } 
     //Save and close 
     document.SaveToFile("Output.pdf"); 
     document.Close(); 

注:我是Spire的僱員。

+0

我試過你的代碼,但它給了我這個錯誤錯誤'Spire.Pdf.PdfDocument'不包含一個構造函數,需要1個參數 –

+0

好吧,對不起。請修改如下代碼: –

+0

PdfDocument document = new PdfDocument(); document.LoadFromFile(「Input.pdf」); –

相關問題