我已經在白天搜索了幾天,但還沒有找到我的問題的解決方案呢。以html格式提交嵌入式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>
和
<form enctype="multipart/form-data" method="post" name='uploadForm' id='uploadForm'>
<input type='hidden' name='rm' id='rm' value='uploadFile'>
<table align='center'>
<tr>
<td align='left'>
<strong>Notes:</strong>
<br>
<textarea cols='80' rows='2' name='notes' id='notes'></textarea>
<br>
<br>
</td>
</tr>
<tr>
<td colspan=2 align='center'>
<input type='submit'>
</td>
</tr>
<tr>
<td colspan=2>
<br>
<input type='hidden' name='formid' id='formid' value='6F45B3AF-91F3-108C-D3D9-701F541B49DC'>
<iframe type='application/pdf' src="url.pl?formid=6F45B3AF-91F3-108C-D3D9-701F541B49DC.pdf" height='800' width='1000' name='PDFObj' id='PDFObj'>
</td>
</tr>
</table>
</form>
我試着用iframe
,並設置輸入型=「對象」沿對象嵌入它,但我可以」沒有任何組合可以工作。
這甚至可能嗎?有更好的方法嗎?
嗯有趣。您可以使用'pdf.js'查看PDF客戶端,然後在提交時,'填充'填充的版本,將其轉換爲base64字符串並將其提交回服務器。這看起來相關:https://stackoverflow.com/questions/13538832/convert-pdf-to-a-base64-encoded-string-in-javascript – lispHK01