So Bearbeiten Sie eine pdf-Datei im browser und auf dem server sichern
Hier sind die Anforderungen der Benutzer muss in der Lage sein, um hochgeladene PDF-Dokumente im browser. Sie müssen in der Lage sein, um Notizen hinzufügen, um die PDF-Datei und speichern Sie die aktualisierte PDF-Datei auf den server, ohne es vorher zu speichern auf Ihren Computer und öffnen Sie Sie außerhalb des Browsers.
Irgendwelche Ideen auf, wie dies zu erreichen, sind willkommen.
übrigens arbeite ich mit einem asp.net website (in C#).
Ich habe keine Kontrolle über die pdf-Datei aussieht. Upload auf client-Seite, dann die andere Benutzer müssen die anzeigen und Hinweise auf der Oberseite der pdf-Datei.
Die Lösung, die ich dachte, ist das Rendern der PDF zu einem jpeg und javascript verwenden, um die Koordinaten eintragen, wo der Hinweis sollte gehen.
hier ist ein kurzes Beispiel für die html-und javascript-Code zum erstellen der json-der Hinweis (mit jQuery.)
<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>
So, jetzt muss ich herausfinden, wie man:
- Rendern von pdf zu jpeg.
- Erstellen Sie die PDF setzen die Anmerkungen auf Deckel.
Sie sehen
InformationsquelleAutor der Frage Kenneth J | 2010-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie GhostScript zum Rendern von PDF zu JPEG.
Befehlszeile Beispiel:
Müssen Sie GhostScript aufrufen, über den command-line-version (wie oben) oder einen wrapper verwenden.
Eine Google-Suche zeigte in diesem blog-post:
Für die Erstellung einer neuen PDF-Datei haben Sie zwei alternativen:
Für die PDF-Bibliotheken sehen dies SO Frage:
InformationsquelleAutor der Antwort Peter Olsson
Meine Firma, Atalasoftbietet Komponenten, mit denen Sie zeigen Sie Dokumente, einschließlich PDF-Dokumente und kommentieren Sie Sie und speichern Sie Anmerkungen direkt im PDF-Dokument. In unserer Produkt-suite, die Sie brauchen würde, dotImage document imaging und der PDF Reader-add-on. Sie wäre mit dotAnnotate durch unsere AJAX web controls. Hier ist ein link zu unserer online-demo - Dokument angezeigt, ist ein TIFF -, aber man könnte ein PDF zu.
InformationsquelleAutor der Antwort plinth
Ich glaube nicht, dass Sie in der Lage sein, einen Benutzer laden Sie eine pdf-Datei in Ihrem browser, Bearbeiten Sie es, dann speichern Sie es auf dem server ohne Sie zu speichern, um Ihren Computer und dann hochladen auf den server.
Was Sie tun können, ist die Einrichtung zu einem Webformular mit Datenbank-backend, die darstellen können die pdf-Datei, und wenn Sie es Bearbeiten, können Sie regenerieren die PDF mit itextsharp und laden der Informationen aus der Datenbank, die Art und Weise, wenn der Benutzer geht zurück zum Bearbeiten der PDF-Datei können Sie Auffüllen, die form, was bereits existiert.
itextsharp ist extrem einfach zu bedienen, hier ein Beispiel:
dann, wenn Sie zeigen wollten, dass die eigentliche PDF-Sie könnte leicht
InformationsquelleAutor der Antwort Jimmy
Wir tun dies mit Hilfe lowagie auf ein Feder - /Java-Plattform.
Nutzer sind mit pre-generierte Umsatz-Steuer-Renditen und hinzufügen können, bestimmte manuelle Anpassungen in einigen Bereichen. Wir haben dann neu berechnen, Summen-Felder, die basierend auf Ihre manuelle Eingabe und speichern Sie die ganze Sache zurück zu unserer DB.
InformationsquelleAutor der Antwort Eric J.
Können Sie entweder PDFSharp oder itextsharp mit Anmerkungen versehen. Habe nicht versucht, PDFSharp Anmerkung aber iTextSharp funktioniert. Sie haben, um die Bearbeitung auf der server-Seite. wahrscheinlich kopieren Sie die Datei in einem temp-Ordner, Bearbeiten Sie es und speichern Sie es zurück.
Finden Sie itextsharp bei http://itextsharp.sourceforge.netannotation-Beispiel: unten auf der Seite http://itextsharp.sourceforge.net/tutorial/ch03.html
pdfsharp: http://www.pdfsharp.net
InformationsquelleAutor der Antwort Emmanuel
Wenn Sie sind in der Lage, kaufen eine Drittanbieter-Bibliothek, ich würde ziemlich viel empfehlen TxTextControl. http://www.textcontrol.com/en_US/
Mit diesem regler können Sie schreiben, ein editor, mit dem Sie Ihre pdf-Datei als Vorlage und ermöglicht es dem Benutzer änderungen vornehmen und abspeichern. Alle innerhalb der browser, ohne die Notwendigkeit, manuell wählen Sie eine tempfile auf dem computer. Acessing ist so ziemlich wie mit dem TextProperty einer normalen TextBox.
InformationsquelleAutor der Antwort citronas
Du hast nicht angegeben, was Technologie-Einschränkungen, die Sie haben. Wenn können Sie erwägen, eine Silverlight-Lösung, und Sie haben den client-Computern, die Unterstützung von Silverlight, können Sie dies leicht bewerkstelligen.
Werfen Sie einen Blick auf wie Microsoft Sketchflow arbeitet, es erlaubt dem Benutzer zum kommentieren von Dokumenten in den web-browser und Anmerkungen gespeichert werden zurück an den server.
Hier ist ein Unternehmen mit einem kommerzielle Kontrolle zu kommentieren von PDF - (und andere Formate).
Microsoft tut dies in Ihrer Sketchflow-player. Hier ist ein video. Natürlich würden Sie nicht mit sketchflow, sondern implimenting etwas ähnliches, das Ihren Bedürfnissen entspricht.
Als zusätzlichen bonus Silverlight 4 unterstützt die Zwischenablage sowie drag-and-drop, so dass end-Benutzer einfügen kann etwas auf die PDF immage sowie ziehen Sie jede Datei auf es ehich Sie wären dann in der Lage, auf Ihren server hochladen.
InformationsquelleAutor der Antwort JonnyBoats