Javascript 以html格式提交嵌入式pdf

Javascript 以html格式提交嵌入式pdf,javascript,jquery,html,forms,pdf,Javascript,Jquery,Html,Forms,Pdf,我找了好几天都没有找到解决问题的办法 理想情况下,我希望将一个可填充的pdf表单嵌入到一个intranet html表单中,以提交给服务器进行处理。解析字段/值的能力将非常重要,但不是必需的。这些文件都在同一个域中,因此没有跨域问题。我知道我可以将提交功能添加到pdf表单本身,但1脚本编写超出了pdf文档管理员的能力,我不想这样做,2有数百个pdf文档,3我需要随表单提交其他脚本字段/值,4我希望pdf文档包含在登录会话中。到目前为止,服务器日志显示所有字段/值,除了传递的PDFInput参数,

我找了好几天都没有找到解决问题的办法

理想情况下,我希望将一个可填充的pdf表单嵌入到一个intranet html表单中,以提交给服务器进行处理。解析字段/值的能力将非常重要,但不是必需的。这些文件都在同一个域中,因此没有跨域问题。我知道我可以将提交功能添加到pdf表单本身,但1脚本编写超出了pdf文档管理员的能力,我不想这样做,2有数百个pdf文档,3我需要随表单提交其他脚本字段/值,4我希望pdf文档包含在登录会话中。到目前为止,服务器日志显示所有字段/值,除了传递的PDFInput参数,但该值为空

以下是我目前掌握的情况:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script>
    $(document).ready(function() {
        $(uploadForm).on("submit", function(event) {
            var iframe = document.getElementById('PDFObj');
            var iframeDocument = [iframe.contentDocument || iframe.contentWindow.document];

            var pluginData = iframeDocument;
            $(this).append('<input type="file" name="PDFInput" id="PDFInput" value="' + pluginData + '" style="visibility:hidden"/>');
            return true;
        });
    });
</script>

我已经尝试使用iframe和object以及设置input type=object来嵌入它,但我无法实现任何组合


这可能吗?有更好的方法吗?

据我所知,您无法像那样直接从HTML捕获PDF数据。您最好的选择是将提交功能添加到PDF中,然后使用服务器端脚本处理生成的FDF数据

您需要将“提交表单”按钮添加到PDF中,或修改现有按钮。确保PDF中的表单操作在URI后面有FDFhttps://example.com/process.phpFDF.

解析数据服务器端很简单。我不确定您使用的是什么服务器端语言,但这里有一个PHP代码片段

<?php // process.php, report the data we received 
echo '<h2>GET Data</h2>'; 
foreach( $_GET as $key => $value ) { 
  echo '<p>Key: '.$key.', Value: '.$value.'</p>'; 
} 
echo '<h2>POST Data</h2>'; 
foreach( $_POST as $key => $value ) { 
  echo '<p>Key: '.$key.', Value: '.$value.'</p>'; 
} 
请注意,只有在web浏览器内部查看时,PDF才能与web服务器正确交互

我不知道有什么可靠的方法可以通过编程将提交按钮添加到PDF中,也不知道有什么可靠的转换方法。你在这里进退两难

更多信息:


嗯,很有趣。您可以考虑使用PDF.js呈现PDF客户端,然后在提交时对填写的版本进行“slurp”,将其转换为base64字符串并将其提交回服务器。这看起来很相关:
<?php // process.php, report the data we received 
echo '<h2>GET Data</h2>'; 
foreach( $_GET as $key => $value ) { 
  echo '<p>Key: '.$key.', Value: '.$value.'</p>'; 
} 
echo '<h2>POST Data</h2>'; 
foreach( $_POST as $key => $value ) { 
  echo '<p>Key: '.$key.', Value: '.$value.'</p>'; 
}