以下是需求,用戶需要能夠在瀏覽器中查看上傳的PDF。他們需要能夠將註釋添加到PDF中,並將更新的PDF保存到服務器,而不必將其保存到他們的機器並在瀏覽器之外打開它。 如何在瀏覽器中編輯PDF並將其保存到服務器
有關如何實現此目的的任何想法都受到歡迎。
順便說一句,我正與一個asp.net網站(在C#中)。
我沒有對什麼PDF看起來像沒有控制。這是上傳的客戶端,然後其他用戶需要查看和pdf上的註釋。
我在想的解決方案是將PDF轉換爲JPEG格式,並使用JavaScript來繪製筆記所在位置的座標。
這裏是創建筆記的JSON的HTML和JavaScript的一個簡單的例子
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<style type="text/css">
*
{
margin:0;
padding:0;
}
#PDF
{
position:absolute;
top:0;
bottom:0;
width:600px;
height:800px;
background:url(assets/images/gray.png) repeat;
float:left;
}
#results
{
float:right;
}
.comment
{
position:absolute;
border:none;
background-color:Transparent;
height:300px;
width:100px;
overflow:auto;
float:left;
top:0;
right:0;
font-family: Arial;
font-size:12px;
}
div.comment
{
padding-top:-20px;
}
.comment a.button
{
display:block;
padding-top:-20px;
}
</style>
</head>
<body>
<div>
<div id="PDF"></div>
<div id="results">
</div>
</div>
</body>
</html>
<script type="text/javascript" src="script/jquery.js"></script>
<script type="text/javascript">
var points = [];
$("#PDF").click(function(e) {
if ($("textarea.comment").length == 0) {
var that = this;
var txt = $("<textarea class='comment'></textarea>").css({ top: e.pageY, left: e.pageX }).blur(function() { $(this).remove(); }).keypress(function(e2) {
if (e2.keyCode == 13 && !e.shiftKey) {
var that2 = this;
$("#PDF").append($("<div class='comment'>").html(that2.value.replace(/\r/gi, "<br>")).css({ top: e.pageY, left: e.pageX }));
$(this).remove();
points.push({ "x": e.pageX, "y": e.pageY, "text": that2.value })
$("#results").append('{ "x": ' + e.pageX + ', "y": ' + e.pageY + ', "text": "' + that2.value + '" }<br/>');
}
});
$(this).append(txt);
txt.each(function() { this.focus(); })
}
});
</script>
所以現在我需要弄清楚如何(使用jQuery):
- 將pdf呈現爲jpeg。
- 重新創建PDF,將註釋放在上面。
你可以在http://github.com/mephraim/ghostscriptsharp獲得GhostscriptSharp Ghostscript包裝的最新代碼 –