super simple json dump of form fields
This commit is contained in:
parent
416a8811b3
commit
740c0b193a
1 changed files with 31 additions and 2 deletions
|
@ -1,11 +1,40 @@
|
|||
from django.views.generic import View
|
||||
from django.http import HttpResponse
|
||||
|
||||
from django.utils import simplejson
|
||||
import poppler
|
||||
import os
|
||||
|
||||
class PDFFormFillerEditorView(View):
|
||||
def get(self, request, pdf=""):
|
||||
|
||||
doc = poppler.document_new_from_file('file:///home/mark/Bedraga.pdf', password=None)
|
||||
json = simplejson.dumps(list(self.get_fields(doc, 0)))
|
||||
|
||||
return HttpResponse("response from editor view %s" % pdf)
|
||||
return HttpResponse("response from editor view %s" % json)
|
||||
|
||||
|
||||
def load_poppler_doc(self, filename):
|
||||
from django.conf import settings
|
||||
|
||||
pdf_path = os.path.abspath(os.path.join(settings.STATIC_FORMS_ROOT, filename))
|
||||
if os.path.isfile(pdf_path):
|
||||
return poppler.document_new_from_file('file://' + pdf_path, password=None)
|
||||
|
||||
def get_fields(self, poppler_doc, page):
|
||||
fields = poppler_doc.get_page(page).get_form_field_mapping()
|
||||
|
||||
for field in fields:
|
||||
field_area = field.area
|
||||
field_data = field.field
|
||||
|
||||
yield {
|
||||
'name': field_data.get_name(),
|
||||
'area': {
|
||||
'x1': field_area.x1,
|
||||
'x2': field_area.x2,
|
||||
'y1': field_area.y1,
|
||||
'y2': field_area.y2,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue