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