[PYTHON] Erstellen Sie eine Web-App, die PDF mit Flask und PyPDF2 in Text konvertiert

Ich erhielt das O'Reilly-Buch "Lass Python die langweiligen Dinge tun" Verwenden Sie Flask, um eine Anwendung zu schreiben, die lokal hochgeladene PDF-Dateien in Text konvertiert.

pip install PyPDF2

Das ist die ganze Vorbereitung.

Die aktuelle Situation

Ich habe nichts geändert.

index.py


import os
import PyPDF2
from flask import Flask, render_template, request, redirect, url_for, send_from_directory, session
from werkzeug import secure_filename
app = Flask(__name__)

UPLOAD_FOLDER = './uploads'
ALLOWED_EXTENSIONS = set(['pdf'])
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config['SECRET_KEY'] = os.urandom(24)

def allowed_file(filename):
    return '.' in filename and \
        filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS

@app.route('/')
def index():
    return render_template('pdf.html')


@app.route('/show_pdf', methods=['GET', 'POST'])
def show_pdf():
    if request.method == 'POST':
        send_data = request.files['send_data']
        if send_data and allowed_file(send_data.filename):
            filename = secure_filename(send_data.filename)
            send_data.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            pdf_file_obj = open('uploads/' + filename, 'rb')
            pdf_reader = PyPDF2.PdfFileReader(pdf_file_obj)
            page_obj = pdf_reader.getPage(0)
            result = page_obj.extractText()

            return render_template('pdf.html', result=result)


@app.route('/uploads/<filename>')
def uploaded_file(filename):
    return send_from_directory(app.config['UPLOAD_FOLDER'], filename)

if __name__ == '__main__':
    app.debug = True
    app.run()

pdf.html


{% extends "base.html" %}
{% block content %}
<form method="post" action="{{ url_for('show_pdf') }}" enctype="multipart/form-data">
  <input type="file" id="send_data" name="send_data">
  <input type="submit" value="Senden">
</fomr>
<div>
  {% if result %}
  {% for i in result %}
    {{ i }}
  {% endfor %}
  {% endif %}
</div>
{% endblock %}

Versuche dich zu bewegen

Dieses Mal werde ich die in Pages erstellte Vorlage verwenden.

スクリーンショット 2017-06-05 17.37.29.png

Exportieren Sie eine solche PDF-Datei lokal als test.pdf.

スクリーンショット 2017-06-05 17.38.02.png

Der Anwendungsbildschirm ist einfach. Ich werde es vorerst hochladen.

スクリーンショット 2017-06-05 17.38.35.png

Es gibt viele Dinge, die ich tun muss ...

Recommended Posts

Erstellen Sie eine Web-App, die PDF mit Flask und PyPDF2 in Text konvertiert
Erstellen Sie eine einfache Web-App mit Flasche
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Erstellen Sie eine Webmap mit Python und GDAL
So stellen Sie eine mit Flask erstellte Web-App für Heroku bereit
Schritte zum Einrichten von Pipenv, Erstellen einer CRUD-App mit Flask und Containerisieren mit Docker
Erstellen einer Webanwendung mit Flask ②
Erstellen einer Webanwendung mit Flask ①
Erstellen einer Webanwendung mit Flask ③
Erstellen einer Webanwendung mit Flask ④
Python: Einführung in Flask: Erstellen einer Nummernidentifizierungs-App mit MNIST
Erstellen und Bereitstellen von Django-Apps (PTVS) mithilfe des Azure Table-Speichers
Ich habe eine Webanwendung in Python erstellt, die Markdown in HTML konvertiert
Erstellen Sie eine Web-App, die mit Plotly Dash einfach visualisiert werden kann
Erstellen Sie einen Webdienst mit Docker + Flask
Starten Sie einen Webserver mit Bottle and Flask (ich habe auch versucht, Apache zu verwenden)
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Erstellen Sie eine einfache App, die die Fetch-API für Ajax-Anforderungen in Flask enthält, und erklären Sie sie schnell.
Erstellen Sie eine Anwendung, die Formulare mithilfe von Python / Flask anstelle von DB eingibt, anzeigt und löscht.
Anfänger haben versucht, eine Cloud-native Webanwendung mit Datastore / GAE zu erstellen
Versuchen Sie, mithilfe der Python-Anforderungsbibliothek eine Webseite und eine JSON-Datei abzurufen
Erstellen Sie ein Plugin, mit dem Sie in Python nach Registerkarten für Sublime Text 3 suchen können
[Python, PyPDF2] Ein Skript, das ein verbreitetes PDF in zwei links und rechts unterteilt
Ein Zauber, der nicht japanische Zeichen und Symbole eliminiert und einen einfachen japanischen Korpus erzeugt
Erstellen Sie eine Kolben-App mit Tensorflow und Dlib für Centos7
Ich möchte eine WEB-Anwendung mit den Daten von League of Legends ① erstellen
Skript zum Konvertieren zwischen Django-Sprachdatei (PO) und tabulatorgetrenntem Text (TSV)
[Python] So erstellen Sie eine lokale Webserverumgebung mit SimpleHTTPServer und CGIHTTPServer
Erstellen Sie mit PyLearn2 eine App zur falschen Unterstützung
Starten Sie einen Webserver mit Python und Flask
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
So erstellen Sie einen USB-Stick, mit dem Linux- und Win10-Installer und Winpe UEFI starten können
Erstellt eine Web-App, die IT-Ereignisinformationen mit Vue und Flask abbildet
So hosten Sie die Web-App-Backend-Verarbeitung in Python mithilfe einer Leihserver-Subdomain
Erstellen Sie eine einfache API, um JSON-Dateien einzugeben und auszugeben ~ Python / Flask Edition ~
Erstellen Sie einen Farbsensor mit einem Raspeltorte und einer Kamera
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Einfaches maschinelles Lernen mit Scikit-Learn und Flask ✕ Web App
Erstellen Sie eine Webseite, auf der ein Modell ausgeführt wird, das die Auflösung des Bilds mithilfe von Gradio erhöht, wodurch das Erstellen eines Webbildschirms vereinfacht wird
[Python] Eine praktische Bibliothek, die Kanji in Hiragana konvertiert
Schreiben Sie Code in UnitTest, eine Python-Webanwendung
Für mich als Django-Anfänger (1) -Erstellen eines Projekts / einer App-
Für mich als Django-Anfänger (4) - Erstellen Sie eine Memo-App-
Python-Programm, das ical-Daten in Text konvertiert
Stellen Sie eine mit Streamlit erstellte Web-App für Heroku bereit
Ich habe ein Tool erstellt, mit dem das Erstellen und Installieren eines öffentlichen Schlüssels etwas einfacher ist.
Eine Geschichte, die es einfach macht, den Wohnbereich mit Elasticsearch und Python abzuschätzen
Schritte zum Erstellen eines Jobs, der ein Docker-Image abruft und mit Github-Aktionen testet
Ich möchte eine Karaoke-Klangquelle erstellen, indem ich Instrumente und Gesang mit Python trenne
Erstellen Sie eine Web-App, die Zahlen mit einem neuronalen Netzwerk erkennt
Erstellen Sie ein Plug-In, das in Sublime Text 2 immer beliebigen Text hervorhebt
Erstellen Sie eine Shogi Score Management App mit Django 4 ~ Create View ~
Ich werde ein Spiel machen, um das Ablegen von Rätseln und Drachen mithilfe von Pygame zu kontrollieren
Erstellen Sie eine WEB-Überwachungskamera mit Raspberry Pi und OpenCV
Beispiel zum Einfügen der Python Flask-Webanwendung in den Azure App Service (Webanwendung)
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.
(Fehler) Stellen Sie eine mit Flask mit Heroku erstellte Web-App bereit
Konvertieren Sie verstümmelte gescannte Bilder mit Pillow und PyPDF in PDF