2016-11-18 54 views
0

我不确定我想做什么可以做。我的网页如何与iframe PDF交互?

大图。我正在加载可填写的表单并将其呈现给可与之交互的用户。目前,用户必须保存已更改的PDF并重新上传以替换现有的可填写值。

我想要的是用单击按钮完成替换。我宁愿拦截PDF的保存点击并使用它来获取更改后的PDF并更新数据库中的值。

这将是稍微少最优的对,抓住改变的PDF而不会被保存到本地驱动器的网页按钮。

下面是我如何呈现PDF。

 <div id="Current_Character" name="Current_Character" style="width: 100%; height: 1000px"> 
     <iframe id="Current_Character_Frame" name="Current_Character_Frame" style="width: 100%; height: 1000px"></iframe> 
    </div> 

还有一点jQuery的调用来加载它:

function charPDF(id) { 
     var url = "/CharPDF?s=" + $('#session').val() + "&ch=" + $('#charid').val() + "&w=10&h=10&m=1"; 
     $("#Current_Character_Frame").attr('src', url); 
    } 

编辑:现在的计划是亲语法在PDF的顶部或底部添加一个提交按钮。首先是简单地添加一个什么也不做的按钮。我正在使用itextsharp。我期望在pdf上看到一个标有“TEST”的按钮,但没有。

  PdfReader rdr = new PdfReader(filepath); 
      PdfStamper stm = new PdfStamper(rdr, new FileStream(outpath, FileMode.Create)); 
      stm.FormFlattening = false; 
      if (AddSubmit) 
      { 
       var buttonPosition = new iTextSharp.text.Rectangle(36, 36, 559, 800); 

       PushbuttonField buttonField = new PushbuttonField(stm.Writer, buttonPosition, "TEST"); 

       stm.AddAnnotation(buttonField.Field, 1); 

      } 
+0

使用jsbin请分享您的代码或的jsfiddle –

+4

你不能做到这一点,你所希望的方式,但你可以使用常规的形式,然后生成与那些已经填写领域的PDF。另外,这不是阿贾克斯。 –

+0

不,我不能。我受限于填写存储在数据库中的值并显示pdf。我无法使用常规表单。 –

回答

0

您可以添加一个提交按钮,将发送整个文件的PDF,保存的数据全部发送到服务器,然后可在使用PDF库工具从填充字段提取数据。这个承诺不是一个多部分形式的附件,它是身体。您只需将文件保存到一个文件中,并且您已经获得了PDF。

这个假设Adobe Reader是PDF查看器。

enter image description here

+0

好的。我正在尝试使用itextsharp为pdf添加一个按钮。我希望PDF在顶部有一个按钮“TEST”。但那里没有一个。 –

+0

为什么您使用iText Sharp添加按钮?表单是动态创建的吗? – joelgeraci