PDF- oder HTML-Formular in Datenbank (oder Excel) und dann in vorformatiertes Word-Dokument zusammenführen

Ich suche seit buchstäblich Jahren nach einer Antwort auf dieses Problem. Ich bin kein Vollprogrammierer, habe aber bereits Erfahrung.

Ich habe versucht, Leute dafür einzustellen, mit wenig Erfolg. Ich habe nach einem eigenständigen Softwareprodukt gesucht, das dies tut ... mit wenig Erfolg.

Ich versuche, einen HTML- oder PDF-Serienbrief zu nehmen, den Sie nach dem Ausfüllen als Optionsfeld-Eingaben, Kontrollkästchen-Eingaben oder Textfeld-Eingaben auswählen können ... und ihn dann in einer Art Datenbank zu speichern, Excel oder MySQL (einfacher würde am meisten geschätzt, um zu verwenden).

Nehmen Sie diese Informationen dann in die Datenbank und platzieren Sie die spezifischen Daten in verschiedenen spezifischen Bereichen in einem vorformatierten Word-Dokument.

Ein Beispiel wäre:

Name: (Textfeld) ABC, DEF.

Datum: (Textfeld oder Dropdown-Kalender) JAN-DEC, 1-31, 0001-2016. (usw).

Geschlecht: (Optionsfeld) MÄNNLICH, WEIBLICH.

Artikel: (Kontrollkästchen) BANANEN, ÄPFEL, ORANGEN.

Um diese Informationen dann in ein Word-Dokument zu platzieren, wie:

Am 2. Mai 2016 gingen ABC, ein großer MÄNNLICHER, und DEF, eine kleine WEIBLICHE, in den Laden und holten einige BANANEN und ÄPFEL. Sie haben vergessen, ORANGEN zu kaufen, also mussten sie am nächsten Tag zurückgehen, um sie zu holen.

1) Kann mir bitte jemand sagen, ob er eine Software kennt, die das kann? 2) Kann mir jemand sagen, ob er einen einfacheren Weg kennt, dies zu tun?

Ich habe ein Formular mit ungefähr 300 Daten, die in ein strukturiertes Word-Dokument eingefügt werden müssen.

Außerdem möchte ich in der Lage sein, die Informationen aus der Datenbank ZURÜCK in das ursprüngliche PDF- oder HTML-Formular zu platzieren, um Korrekturen vorzunehmen, und sie dann wieder in der Datenbank zu speichern.

Die Datenbank würde Hunderte von Personen enthalten und JEDER seine spezifischen 300 Datenpunkte.

Großes Projekt.

In diesem Sinne ... hat jemand eine Idee zu dem grundlegenden Beispiel, das ich gegeben habe? Dies kann mir helfen, in die Vollversion zu expandieren, wenn ich die richtige Grundlage habe.

Danke

Wenn Sie HTML oder PDF speichern, benötigen Sie beide oder beides. Wenn Sie mit HTML-Formularen einverstanden sind, ist es nicht so schwer. Der erste Schlüssel ist, dass Sie jeder der Fragen einen eindeutigen Namen geben müssen. Verwenden von PHP zum Anzeigen und Erfassen des Formulars und zum Eingeben in eine DB. Sehen Sie sich diese php.net/manual/en/mysqli.quickstart.prepared-statements.php für Ideen an. Möglicherweise müssen Sie die Daten in 2 oder 3 Tabellen aufteilen, um 300 Werte zu verarbeiten.

Antworten (4)

Was Sie beschrieben haben, kann mit Sharepoint durchgeführt werden. Ich habe dies erfolgreich mit SP 2010 und 2013 erreicht.

Erstellen Sie in SharePoint eine benutzerdefinierte Liste mit Spalten für die Daten, die Sie erfassen müssen. Erstellen Sie einen Dokumentinhaltstyp und ersetzen Sie die Standardvorlage durch Ihre Word-Dokumentvorlage. Erstellen Sie eine Dokumentbibliothek mit denselben Spalten, die Sie für Ihre Liste erstellt haben, und wenden Sie den von Ihnen erstellten Dokumentinhaltstyp an. Bearbeiten Sie die Dokumentbibliotheksvorlage, indem Sie die Bibliotheksspalten bei Bedarf über Quick Parts einbetten. Erstellen Sie einen Workflow, der ausgelöst wird, wenn ein neues Listenelement erstellt wird. Legen Sie den Workflow fest, um ein neues Dokument in der Dokumentbibliothek zu erstellen, und weisen Sie Feldwerte zu, die mit den Feldwerten des neu erstellten Listenelements übereinstimmen. Das sollte es tun. Sie können die Liste sogar nach Excel exportieren, wenn Sie möchten. Das mag etwas kompliziert klingen, ist es aber nicht. Ziemlich einfaches Sharepointing.

Zunächst einmal - viele Leute machen den Fehler, MS-Excel als Datenbank zu verwenden - es ist keine Tabellenkalkulation . Versuchen Sie nicht, es als Datenbank zu verwenden, da Sie nur harte Arbeit für sich selbst leisten .

Microsoft Office Suite enthält MS-Access , eine Datenbank in den Pro-Editionen.

LibreOffice , die kostenlose Office-Lösung, enthält base .

Mit beiden können Sie Formulare mit Validierung entwerfen, um Daten in eine Datenbank einzugeben, Abfragen , um die Daten wieder aus der Datenbank abzurufen, und Berichte , bei denen es sich um Dokumente handelt, die mit diesen Daten ausgefüllt sind. Solche Berichte können von beiden Tools im Word-Format vorliegen .

Persönlich würde ich LibreOffice immer empfehlen, da es flexibler ist, ebenso wie der Preisunterschied und ein wirklich guter Ausgangspunkt - es kann sowohl eine Verbindung zu einer Reihe verschiedener Datenbanken herstellen als auch seine eigene verwenden.

Wenn Sie anstelle des Access/Base-Frontends HTML als Dateneingabemedium verwenden müssen, müssen Sie die von Ihnen entworfenen Formulare auf einem Server hosten und einen Post-Mechanismus für die Übertragung der Daten an die Datenbank und möglicherweise für das Auslösen bereitstellen Ausführen der Abfrage und Erstellen des Berichts/der Berichte.

Es können PDF-Formulare (aus LibreOffice heraus) erstellt werden, die eine Reihe von Feldern enthalten, die in X/FDF gespeichert und an den Ersteller zurückgegeben werden können, damit die Daten automatisch extrahiert und in die Datenbank eingegeben und möglicherweise die Ausführung der Abfrage ausgelöst werden und Erstellen des Berichts/der Berichte.

Wie Sie sagen, eine ziemlich große Aufgabe – sich ein gutes Buch zu besorgen, könnte ein ausgezeichneter Anfang sein – die LibreOffice-Dokumentation ist eine große Hilfe, ebenso wie die Document Foundation-Bücher .

Sie könnten einen Blick auf Kexi http://www.kexi-project.org/ werfen, was es wert ist, in Schwung zu kommen. Die Website ist etwas veraltet, aber der Hauptentwickler arbeitet hart daran, die Software sowie die Dokumentation zu verbessern. Die neuesten Informationen finden Sie im Kexi-Forum, das Teil des KDE-Forums ist.

Kexi ist eine Software im Sinne von „Filemaker“ oder „Microsoft Access“. Sie können ganz einfach Vorlagen von Feldern erstellen, die es ermöglichen, Datensätze in die Datenbank einzufügen / zu bearbeiten.

Das Projekt wird derzeit von einem Entwickler unterstützt, aber es lohnt sich wirklich, die Software zu testen. Mit Kexi können Sie Berichte erstellen; Ich kann mich nicht an das Ausgabeformat erinnern, aber Sie könnten die Dokumente wahrscheinlich bei Bedarf in Word-Dokumente konvertieren.

Kexi speichert Projekte in einer eigenständigen SQLite-Datenbank. Sie müssen keinen Datenbankserver wie zum Beispiel für MySQL / PostgreSQL betreiben. SQLite ist ein beliebtes Datenbankformat und es gibt viele Editoren (außer Kexi), mit denen Sie die Datensätze auch bearbeiten können.

Derzeit werden sowohl die Formulare als auch die Daten in derselben Datenbank gespeichert.

Kexi kann außerdem Daten aus MySQL und PostgreSQL importieren. Es gibt auch Projekte, die es ermöglichen, MySQL- und PostgreSQL-Datenbanken direkt zu bearbeiten.

Kexi ist für Linux mit KDE Desktop verfügbar. Es gibt auch eine frühere Version, die als Binärdatei für Windows kompiliert wurde, und die Bereitstellung der neuen Version für Windows ist ebenfalls in Vorbereitung. Ich habe das Projekt sowohl auf Debian mit KDE Desktop als auch auf Windows 7 getestet. Es gibt einige kleinere Fehler wie grafische, aber im Grunde funktioniert es.

Ich möchte vorab sagen, was ich sage. Ich habe viel Erfahrung mit diesem Thema. Obwohl ich das nicht beruflich mache, habe ich es für viele persönliche Projekte getan. Ich habe in der Vergangenheit eine Reihe von Formularen entworfen, die eine Verbindung zu einer Datenbank herstellen.

Ich würde vorschlagen, dass Sie ein PHP-Framework finden. Ich habe festgestellt, dass PHP zwar eine Verbindung zur Datenbank herstellen kann, Sie es jedoch auf eine bestimmte Weise codieren müssen. Dies liegt daran, dass es sonst anfällig für Hacker ist, die viele Dinge ohne eine Menge zusätzlicher Codierung tun. Das Framework erledigt die meisten dieser Dinge automatisch für Sie.

Eines der häufigsten Beispiele für Hackerunfug ist mein Name

johnny; drop table users;

Wenn Sie Ihre Daten nicht manuell in PHP bereinigt haben, würde der Hacker alle Ihre Benutzer erfolgreich löschen. Ich habe viel Zeit damit verbracht, Prepare-Anweisungen zu schreiben, um diese Art von Verhalten zu blockieren, aber die vielen PHP-Frameworks erledigen das alles für Sie.

Hunderte von Personen sind für eine Datenbank trivial, wenn Sie 50.000 bis 100.000 Personen erhalten, haben Sie eine kleine Datenbank. Ich empfehle Excel nicht, da es Formulare oder PDF nicht gut ausführen kann und andere Einschränkungen hat.

Es wäre am besten, einfach eine MySQL-Datenbank und einen Webserver mit PHP-Unterstützung zu verwenden, vorzugsweise Version php7 und 7.2, wenn Sie damit umgehen können.

Die Lösung hier ist 2 Teile

  1. Die Daten in die Datenbank bekommen
  2. Raus bekommen.

Es herauszuholen ist so einfach wie ein Seriendruck. Siehe diese Antwort, die ich zum Einrichten einer Datenbankverbindung geschrieben habe https://superuser.com/questions/1259086/getting-data-from-mysql-into-microsoft-word/1259409#1259409

Hello <Insert column 1 here>,

Basierend auf Ihren Formularanforderungen deckt HTML(5) alle Ihre Anforderungen ab.

Jetzt müssen wir das mit einer Datenbank verknüpfen. Möglicherweise können Sie JQuery verwenden, aber ich weiß, dass dies in PHP möglich ist.

Abhängig von Ihrem Kenntnisstand können Sie direkt in PHP codieren oder ein Framework verwenden. Der Nachteil bei der Verwendung eines Frameworks ist, dass Sie lernen müssen, wie man darin programmiert. Der Vorteil ist, dass sie den größten Teil der technischen Arbeit für Sie erledigen. Ich habe gerade angefangen, https://laravel.com/ zu verwenden

Der Vorteil des Frameworks besteht darin, dass es die ganze fummelige Arbeit erledigt, Hacker mit MySQL-Injektion und anderen schlechten Dingen zu vermeiden. Die meisten eingegebenen Werte werden automatisch vorbehandelt. Jetzt müssen Sie noch ein paar Eingabetests durchführen, um sicherzustellen, dass sie keine dummen Werte wie 1 oder 999 für das Alter eingeben. Viele der PHP-Frameworks erlauben sogar jedem Benutzer, ein Konto einzurichten, bei dem er sich mit einem Benutzernamen und einem Passwort anmelden kann. Es ist nur eine kleine Menge Code erforderlich, um alles zu handhaben, was mit Anmeldungen zu tun hat, einschließlich der Verschlüsselung des Passworts.

PHP verbirgt die meisten lästigen Datenbankprobleme, die Sie möglicherweise in anderen Programmiersprachen erleben. Ein Framework verbirgt noch mehr Komplexität.

Die Daten aus der Datenbank wieder in ein HTML zu bekommen, wäre auch relativ einfach, besonders wenn Sie ein Framework verwenden.

Aus Effizienzgründen sollten Sie Ihre 300 Spalten in mindestens 3 Tabellen aufteilen.

Es ist nicht ideal, dies in einem PDF zu tun, und HTML wird die Eingabe und erneute Anzeige Ihrer Daten viel einfacher machen. HTML wurde buchstäblich für diesen Zweck entwickelt.

Sie werden wahrscheinlich irgendwann mit einem Datenbankmitarbeiter sprechen wollen, um Ihre Daten für die bestmögliche Leistung richtig in mehrere Tabellen aufzuteilen. Beim Datenbankdesign gibt es die sogenannte "5. Normalform", und am besten wäre jemand, der Ihre Daten auf diese Weise arrangieren kann.