def export_to_pdf(request): try: if request.method == "POST": if "export_to_pdf" in request.POST: #called by the colorbox form = PdfTemplateForm(request.POST) if form.is_valid(): template_name = form.cleaned_data['template'] contacts = form.get_contacts() context = { "contacts": contacts, "search_dict": json.loads(form.cleaned_data['search_dict']), } context = form.patch_context(context) pdf_options = getattr(settings, 'BALAFON_PDF_OPTIONS', None) if pdf_options is None: cmd_options = { 'margin-top': 0, 'margin-bottom': 0, 'margin-right': 0, 'margin-left': 0, } else: cmd_options = pdf_options.get(template_name, {}) pdf_view = PDFTemplateView(filename='balafon.pdf', template_name=template_name, request=request, cmd_options=cmd_options) return pdf_view.render_to_response(context) else: return render(request, 'Search/export_to_pdf.html', {'form': form}) else: search_form = SearchForm(request.POST) if search_form.is_valid(): contacts = search_form.get_contacts() search_dict = json.dumps(search_form.serialize()) form = PdfTemplateForm(initial={ 'contacts': contacts, 'search_dict': search_dict }) return render(request, 'Search/export_to_pdf.html', {'form': form}) except Exception as msg: logger.exception("export_to_pdf") raise raise Http404
def export_to_pdf(request): try: if request.method == "POST": if "export_to_pdf" in request.POST: #called by the colorbox form = PdfTemplateForm(request.POST) if form.is_valid(): template_name = form.cleaned_data['template'] contacts = form.get_contacts() context = { "contacts": contacts, "search_dict": json.loads(form.cleaned_data['search_dict']), } context = form.patch_context(context) pdf_options = getattr(settings, 'BALAFON_PDF_OPTIONS', None) if pdf_options is None: cmd_options = {'margin-top': 0, 'margin-bottom': 0, 'margin-right': 0, 'margin-left': 0, } else: cmd_options = pdf_options.get(template_name, {}) pdf_view = PDFTemplateView( filename='balafon.pdf', template_name=template_name, request=request, cmd_options=cmd_options) return pdf_view.render_to_response(context) else: return render_to_response( 'Search/export_to_pdf.html', {'form': form}, context_instance=RequestContext(request) ) else: search_form = SearchForm(request.POST) if search_form.is_valid(): contacts = search_form.get_contacts() search_dict = json.dumps(search_form.serialize()) form = PdfTemplateForm(initial={'contacts': contacts, 'search_dict': search_dict}) return render_to_response( 'Search/export_to_pdf.html', {'form': form}, context_instance=RequestContext(request) ) except Exception, msg: logger.exception("export_to_pdf") raise
def put_on_paper(request, pk, kind="confirmation", fmt='html'): """ 'Print' was taken? """ order = get_object_or_404(Order, pk=pk) data = order.get_print_dict(kind) template = order.get_print_template(kind) if fmt == 'pdf': fn = data.get('title') + '.pdf' view = PDFTemplateView(request=request, template_name=template, filename=fn) return view.render_to_response(data) return render(request, template, data)
def test_pdf_template_view(self, show_content=False): """Test PDFTemplateView.""" view = PDFTemplateView.as_view(filename=self.pdf_filename, show_content_in_browser=show_content, template_name=self.template, footer_template=self.footer_template) # As PDF request = RequestFactory().get('/') response = view(request) self.assertEqual(response.status_code, 200) response.render() fileheader = self.attached_fileheader if show_content: fileheader = self.inline_fileheader self.assertEqual(response['Content-Disposition'], fileheader.format(self.pdf_filename)) self.assertTrue(response.content.startswith(b'%PDF-')) self.assertTrue(response.content.endswith(b'%%EOF\n')) # As HTML request = RequestFactory().get('/?as=html') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertFalse(response.has_header('Content-Disposition')) self.assertTrue(response.content.startswith(b'<html>')) # POST request = RequestFactory().post('/') response = view(request) self.assertEqual(response.status_code, 405)
def test_pdf_template_view_unicode(self): """Test PDFTemplateView.""" with override_settings( MEDIA_URL='/media/', STATIC_URL='/static/', TEMPLATE_CONTEXT_PROCESSORS=[ 'django.core.context_processors.media', 'django.core.context_processors.static', ], TEMPLATE_LOADERS=['django.template.loaders.filesystem.Loader'], TEMPLATE_DIRS=[os.path.join(os.path.dirname(__file__), '_testproject', 'templates')], WKHTMLTOPDF_DEBUG=False, ): # Setup sample.html template = 'unicode.html' filename = 'output.pdf' view = PDFTemplateView.as_view(filename=filename, template_name=template) # As PDF request = RequestFactory().get('/') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertEqual(response['Content-Disposition'], 'attachment; filename="{0}"'.format(filename)) # not sure how we can test this as the contents is all encoded... # best we can do for the moment is check it's a pdf and it worked. # self.assertTrue('☃' in response.content) self.assertTrue(response.content.startswith('%PDF-')) self.assertTrue(response.content.endswith('%%EOF\n'))
def test_pdf_template_view_unicode(self): """Test PDFTemplateView.""" with override_settings( MEDIA_URL='/media/', STATIC_URL='/static/', TEMPLATE_CONTEXT_PROCESSORS=[ 'django.core.context_processors.media', 'django.core.context_processors.static', ], TEMPLATE_LOADERS=['django.template.loaders.filesystem.Loader'], TEMPLATE_DIRS=[ os.path.join(os.path.dirname(__file__), '_testproject', 'templates') ], WKHTMLTOPDF_DEBUG=False, ): # Setup sample.html template = 'unicode.html' filename = 'output.pdf' view = PDFTemplateView.as_view(filename=filename, template_name=template) # As PDF request = RequestFactory().get('/') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertEqual(response['Content-Disposition'], 'attachment; filename="{0}"'.format(filename)) # not sure how we can test this as the contents is all encoded... # best we can do for the moment is check it's a pdf and it worked. # self.assertTrue('☃' in response.content) self.assertTrue(response.content.startswith('%PDF-')) self.assertTrue(response.content.endswith('%%EOF\n'))
def test_get_context_processor_variables_debug(self, show_content=False): request = RequestFactory().get('/') template = loader.get_template(self.context_template) saved_content, filename = self._render_file(template=template, context={}, request=request) self.assertTrue('<h1>True</h1>' in saved_content) with override_settings(DEBUG=False): request = RequestFactory().get('/') template = loader.get_template(self.context_template) saved_content, filename = self._render_file(template=template, context={}, request=request) self.assertTrue('<h1></h1>' in saved_content) view = PDFTemplateView.as_view(filename=self.pdf_filename, show_content_in_browser=show_content, template_name=self.context_template, footer_template=self.footer_template) # As HTML request = RequestFactory().get('/?as=html') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertIn(b'<h1>True</h1>', response.content) with override_settings(DEBUG=False): request = RequestFactory().get('/?as=html') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertIn(b'<h1></h1>', response.content)
def test_get_cmd_options(self): # Default cmd_options view = PDFTemplateView() self.assertEqual(view.cmd_options, PDFTemplateView.cmd_options) self.assertEqual(PDFTemplateView.cmd_options, {}) # Instantiate with new cmd_options cmd_options = {'orientation': 'landscape'} view = PDFTemplateView(cmd_options=cmd_options) self.assertEqual(view.cmd_options, cmd_options) self.assertEqual(PDFTemplateView.cmd_options, {}) # Update local instance of cmd_options view = PDFTemplateView() view.cmd_options.update(cmd_options) self.assertEqual(view.cmd_options, cmd_options) self.assertEqual(PDFTemplateView.cmd_options, {})
def test_pdf_template_view(self): """Test PDFTemplateView.""" with override_settings( MEDIA_URL='/media/', STATIC_URL='/static/', TEMPLATE_CONTEXT_PROCESSORS=[ 'django.core.context_processors.media', 'django.core.context_processors.static', ], TEMPLATE_LOADERS=['django.template.loaders.filesystem.Loader'], TEMPLATE_DIRS=[ os.path.join(os.path.dirname(__file__), '_testproject', 'templates') ], WKHTMLTOPDF_DEBUG=False, ): # Setup sample.html template = 'sample.html' filename = 'output.pdf' view = PDFTemplateView.as_view(filename=filename, template_name=template, footer_template='footer.html') # As PDF request = RequestFactory().get('/') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertEqual(response['Content-Disposition'], 'attachment; filename="{0}"'.format(filename)) self.assertTrue(response.content.startswith('%PDF-')) self.assertTrue(response.content.endswith('%%EOF\n')) # As HTML request = RequestFactory().get('/?as=html') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertFalse(response.has_header('Content-Disposition')) self.assertTrue(response.content.startswith('<html>')) # POST request = RequestFactory().post('/') response = view(request) self.assertEqual(response.status_code, 405)
def test_pdf_template_view(self): """Test PDFTemplateView.""" with override_settings( MEDIA_URL='/media/', STATIC_URL='/static/', TEMPLATE_CONTEXT_PROCESSORS=[ 'django.core.context_processors.media', 'django.core.context_processors.static', ], TEMPLATE_LOADERS=['django.template.loaders.filesystem.Loader'], TEMPLATE_DIRS=[os.path.join(os.path.dirname(__file__), '_testproject', 'templates')], WKHTMLTOPDF_DEBUG=False, ): # Setup sample.html template = 'sample.html' filename = 'output.pdf' view = PDFTemplateView.as_view(filename=filename, template_name=template, footer_template='footer.html') # As PDF request = RequestFactory().get('/') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertEqual(response['Content-Disposition'], 'attachment; filename="{0}"'.format(filename)) self.assertTrue(response.content.startswith('%PDF-')) self.assertTrue(response.content.endswith('%%EOF\n')) # As HTML request = RequestFactory().get('/?as=html') response = view(request) self.assertEqual(response.status_code, 200) response.render() self.assertFalse(response.has_header('Content-Disposition')) self.assertTrue(response.content.startswith('<html>')) # POST request = RequestFactory().post('/') response = view(request) self.assertEqual(response.status_code, 405)
def test_pdf_template_view_unicode(self, show_content=False): """Test PDFTemplateView.""" view = PDFTemplateView.as_view(filename=self.pdf_filename, show_content_in_browser=show_content, template_name=self.template) # As PDF request = RequestFactory().get('/') response = view(request) self.assertEqual(response.status_code, 200) response.render() fileheader = self.attached_fileheader if show_content: fileheader = self.inline_fileheader self.assertEqual(response['Content-Disposition'], fileheader.format(self.pdf_filename)) # not sure how we can test this as the contents is all encoded... # best we can do for the moment is check it's a pdf and it worked. # self.assertTrue('☃' in response.content) self.assertTrue(response.content.startswith('%PDF-')) self.assertTrue(response.content.endswith('%%EOF\n'))
def test_pdf_template_view_unicode(self, show_content=False): """Test PDFTemplateView.""" view = PDFTemplateView.as_view(filename=self.pdf_filename, show_content_in_browser=show_content, template_name=self.template) # As PDF request = RequestFactory().get('/') response = view(request) self.assertEqual(response.status_code, 200) response.render() fileheader = self.attached_fileheader if show_content: fileheader = self.inline_fileheader self.assertEqual(response['Content-Disposition'], fileheader.format(self.pdf_filename)) # not sure how we can test this as the contents is all encoded... # best we can do for the moment is check it's a pdf and it worked. # self.assertTrue('☃' in response.content) self.assertTrue(response.content.startswith(b'%PDF-')) self.assertTrue(response.content.endswith(b'%%EOF\n'))
'', url(r'^rosetta/', include('rosetta.urls')), ) if 'helpdesk' in settings.INSTALLED_APPS: urlpatterns += patterns( '', url(r'helpdesk/', include('helpdesk.urls')), ) if 'wkhtmltopdf' in settings.INSTALLED_APPS: from wkhtmltopdf.views import PDFTemplateView urlpatterns += patterns( '', url(r'^pdf/$', PDFTemplateView.as_view(template_name='billing/template.html', filename='my_pdf.pdf'), name='pdf'), ) #if 'docs' in settings.INSTALLED_APPS: # urlpatterns += patterns('', # url(r'^docs/', include('docs.urls')), # ) if 'sphinxdoc' in settings.INSTALLED_APPS: urlpatterns += patterns( '', url(r'^docs/', include('sphinxdoc.urls')), ) if 'haystack' in settings.INSTALLED_APPS:
from django.conf.urls import patterns, include, url from django.contrib import admin from django.views.generic import TemplateView from wkhtmltopdf.views import PDFTemplateView from cache.views import CacheView from world.views import PlaceView admin.autodiscover() class ExceptionView(TemplateView): def get_context_data(self, **kwargs): 1/0 return super(ExceptionView, self).get_context_data(**kwargs) urlpatterns = patterns('', url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'), url(r'^admin/', include(admin.site.urls)), url(r'^cache/', CacheView.as_view(), name='cache'), url(r'^exception', ExceptionView.as_view(), name='exception'), url(r'^geo/', PlaceView.as_view(), name='geo'), url(r'^pdf/$', PDFTemplateView.as_view(filename='my_pdf.pdf', template_name='pdf.html'), name='pdf'), url(r'', include('prototype.auth_urls')), )
from django.conf.urls import url from wkhtmltopdf.views import PDFTemplateView from . import views urlpatterns = [ url(regex=r'^make-payment/$', view=views.make_payment, name='make_payment'), url(r'^pdf/$', PDFTemplateView.as_view(template_name='test.html', filename='my_pdf.pdf'), name='pdf'), ]
from django.conf.urls import patterns, url from geonode.urls import * from wkhtmltopdf.views import PDFTemplateView import cdu.views import cdu.document urlpatterns = patterns( '', # Static pages url(r'^$', 'geonode.views.index', {'template': 'site_index.html'}, name='home'), url(r'^cdu/', cdu.views.MyView.as_view(), name='index'), url(r'^pdf/', PDFTemplateView.as_view(template_name='cdu/cdu.html', filename='cdu.pdf'), name='pdf')) + urlpatterns
from django.urls import path from . import views from wkhtmltopdf.views import PDFTemplateView urlpatterns = [ path('', views.index, name='index'), path('step-1', views.stepOne, name='step1'), path('step-2', views.stepTwo, name="step2"), path('step-3', views.stepThree, name="step3"), path('step-4', views.stepFour, name="step4"), path('ajax/workshop_dtls', views.workshopDtls, name="workshop"), path('ajax/workshop_id', views.workshopId, name="workshop_id"), path('workshop_pdf_html/<int:workshop_id>', views.workshopPdfHtml, name="workshop_pdf_view"), path('workshop_pdf/<int:workshop_id>', views.workshopPdfDownload, name="workshop_pdf_download"), path('generated', views.generatedReports, name="generated_reports"), path('pdf', PDFTemplateView.as_view( template_name='generatePdf/pages/form_as_html.html', filename='report.pdf'), name='pdf'), ]
views.sent_notifications, name='sent_notifications'), url(r'^delete_notification/$', views.manage_objects, name='delete_notification'), url(r'^delete_campaign/$', views.manage_objects, name='delete_campaign'), url(r'^delete_recipient/$', views.manage_objects, name='delete_recipient'), url(r'^delete_template/$', views.manage_objects, name='delete_template'), url(r'^get_campaign/$', views.manage_objects, name='get_campaign'), url(r'^get_template/$', views.manage_objects, name='get_template'), url(r'^get_recipient/$', views.manage_objects, name='get_recipient'), url(r'^deactivate_campaign/$', views.manage_objects, name='deactivate_campaign'), url(r'^deactivate_recipient/$', views.manage_objects, name='deactivate_recipient'), url(r'^deactivate_template/$', views.manage_objects, name='deactivate_template'), url(r'^save-campaign/$', views.save_campaign, name='save_campaign'), url(r'^save-template/$', views.save_template, name='save_template'), url(r'^save-recipient/$', views.save_recipient, name='save_recipient'), url(r'^reports/(?P<hashid>[0-9a-zA-Z]{5,})$', reports.report_wrapper, name='view_report'), url(r'^pdf/$', PDFTemplateView.as_view(template_name='landing.html', filename=None), name='dynamic_pdf'), ]
) if 'rosetta' in settings.INSTALLED_APPS: urlpatterns += patterns('', url(r'^rosetta/', include('rosetta.urls')), ) if 'helpdesk' in settings.INSTALLED_APPS: urlpatterns += patterns('', url(r'helpdesk/', include('helpdesk.urls')), ) if 'wkhtmltopdf' in settings.INSTALLED_APPS: from wkhtmltopdf.views import PDFTemplateView urlpatterns += patterns('', url(r'^pdf/$', PDFTemplateView.as_view(template_name='billing/template.html',filename='my_pdf.pdf'), name='pdf'), ) #if 'docs' in settings.INSTALLED_APPS: # urlpatterns += patterns('', # url(r'^docs/', include('docs.urls')), # ) if 'sphinxdoc' in settings.INSTALLED_APPS: urlpatterns += patterns('', url(r'^docs/', include('sphinxdoc.urls')), ) if 'haystack' in settings.INSTALLED_APPS: urlpatterns += patterns('', url(r'^search/', include('haystack.urls'))
from django.conf.urls import url from django.contrib import admin from django.views.generic import TemplateView from data import views from wkhtmltopdf.views import PDFTemplateView from data.views import MyPDFView from django.conf import settings from django.conf.urls.static import static urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', TemplateView.as_view(template_name="base.html"), name="home"), url(r'^form/', views.equipment_form, name='form'), url(r'^total/', views.equipment_list, name="total"), url(r'^add_new/', views.add_new, name="add_new"), url(r'^change/(?P<claim_pk>\d+)/$', views.change, name='change'), url(r'^pdf/$', PDFTemplateView.as_view(template_name='data/pdf.html', filename='my_pdf.pdf'), name="pdf"), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# pages/urls.py from django.urls import path from .views import HomePageView, AboutPageView from wkhtmltopdf.views import PDFTemplateView urlpatterns = [ path('', HomePageView.as_view(), name='home'), path('pdf/', PDFTemplateView.as_view(template_name='firefox.html', filename='my_pdf.pdf', cmd_options={ 'page-size': 'A4', 'encoding': "UTF-8", 'print-media-type': '', 'page-size': 'A4', 'margin-top': '10mm', 'margin-bottom': '10mm', 'margin-left': '10mm', 'margin-right': '10mm', 'zoom': '1.50', }, show_content_in_browser=True), name='pdf'), path('about/', AboutPageView.as_view(), name='about'), ]
from django.conf.urls import patterns, url from geonode.urls import * from wkhtmltopdf.views import PDFTemplateView import cdu.views import cdu.document urlpatterns = patterns('', # Static pages url(r'^$', 'geonode.views.index', {'template': 'site_index.html'}, name='home'), url(r'^cdu/', cdu.views.MyView.as_view(), name='index'), url(r'^pdf/', PDFTemplateView.as_view(template_name='cdu/cdu.html', filename='cdu.pdf'), name='pdf') ) + urlpatterns
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url from django.contrib import admin from tutorialapp.views import tables, homepage, mapPlot, altitude, horizontal, vertical, compass, conductivity, _pdf, _csv from wkhtmltopdf.views import PDFTemplateView from django.conf import settings from django.conf.urls.static import static # These are the urls for each page that can be accessed urlpatterns = [ url(r'^$', homepage, name='homepage'), url(r'^pdf/$', _pdf, name='_pdf'), url(r'^csv/$', _csv, name='_csv'), url(r'^tables/$', tables, name='tables'), url(r'^mapPlot/$', mapPlot, name='mapPlot'), url(r'^altitude/$', altitude, name='altitude'), url(r'^horizontal/$', horizontal, name='horizontal'), url(r'^vertical/$', vertical, name='vertical'), url(r'^compass/$', compass, name='compass'), url(r'^conductivity/$', conductivity, name='conductivity'), url(r'^pdf/$', PDFTemplateView.as_view(template_name='tutorial/tables.html', filename='my_pdf.pdf'), name='pdf'), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
from django.conf.urls import url from wkhtmltopdf.views import PDFTemplateView from . import views app_name = 'learning_wkhtmltopdf' urlpatterns = [ url(r'^$', views.index, name='pdf_index'), url(r'^generate_simple_pdf$', PDFTemplateView.as_view( template_name='learning_wkhtmltopdf/simple_pdf.html', filename='my_pdf.pdf'), name='generate_pdf_simple'), # url(r'^new/$', views.upload_file, name='upload_new'), ]
# path('variety/validate/', views.validate_username, name='validate'), # url(r'^variety/validate/$', views.validate_username, name='validate'), # path('variety2/<int:pk>', views.VarietyDetailView.as_view(template_name='seed/invoice.html'), name='variety-detail2'), # path('pdf/<int:pk>', views.VarietyDetailView.generate_pdf, name='pdf'), path('pdf/<int:pk>', views.GeneratePdf.as_view(), name='pdf'), # path('pdf/',views.GeneratePdf.as_view(), name='pdf'), # path('pdf/', views.some_view, name='pdf'), path('pdf2/<int:pk>', views.GeneratePdf2.as_view()), # url(r'^pdf3/$', PDFTemplateView.as_view(template_name='seed/variety_detail.html',filename='my_pdf.pdf'), name='pdf3'), # path('pdf3/<int:pk>', PDFTemplateView.as_view(template_name='seed/variety_detail.html', filename='my_pdf.pdf'), # name='variety-detail-pdf'), # path('pdf4/<int:pk>', PDFTemplateView.as_view(template_name='seed/species_detail.html', filename='my_pdf4.pdf'), # name='pdf4/1'), path('species/<int:pk>/', PDFTemplateView.as_view(template_name='seed/species_detail.html', filename='my_pdf7.pdf'), name='pdf7/'), # path('species/<int:pk>/1', views.HelloPDFView.as_view()), path('mymodel/', views.myModelListView.as_view(), name='mymodel'), path('mymodel/create', views.add_myModel, name='mymodel_create'), path('mymodel/<int:pk>', views.myModelDeatilView.as_view(), name='myModel-detail'), path('model2/create', views.add_model2_createpopup, name='model2-create'), path('model2/<int:pk>/edit', views.model2_edit_popup, name='model2-edit'), path('model2/ajax/get_model2_id', views.get_model2_id, name='get_model2_id'), # url(r'^model2/ajax/get_model2_id', views.get_model2_id, name = "get_model2_id"), # path('pdf8/', views.generate_pdf, name='generate_pdf'), path('images/', views.SpeciesImageListView.as_view(), name='images'),