![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Django app for seamlessly displaying and downloading PDF documents in browser
The primary purpose of this Django package is to streamline the creation of PDF
documents and allow for easy viewing or downloading in the browser. The package
provides a solid foundation of HTML and CSS for PDF file layout. To use it,
simply create an HTML template for your PDF document, then create a view that
inherits from PDFView
and define the necessary class attributes to generate
the PDF.
This approach enables developers to focus on crafting the content and styles of their PDF pages without having to deal with complex layout issues.
Predefined Page Layout: Includes built-in base HTML and CSS to help structure your PDF pages efficiently.
Flexible PDF Content and Styling: Easily create your own HTML template for the PDF document and customize the appearance by applying your own CSS.
PDF View Response Options: Seamlessly switch between viewing the PDF, displaying the HTML content, and downloading the PDF file.
pip install django-pdf-view
or
poetry add django-pdf-view
Add django-pdf-view
to your INSTALLED_APPS
in settings.py
:
INSTALLED_APPS = [
...
'pdf_view',
...
]
In order to create your own PDF, you need to implement your own view and template.
Create a new view to render the PDF:
# my_app/views.py
from pdf_view.views.pdf_view import PDFView
class MyPDFView(PDFView):
template_name = 'my_app/my_pdf.html'
title = 'My PDF Document' # optional
filename = 'My PDF.pdf' # optional
css_paths = [ # optional
'my_pdf/css/my_pdf.css',
]
Create a new template to define the content of your PDF page:
<!-- my_app/templates/my_app/pdf_page.html -->
<div class="page">
<h1 class="my-title">{{ title }}</h1>
<p class="my-text">{{ text }}</p>
<p class="my-text">Additional PDF page text.</p>
</div>
<!-- Define more <div class="page"> elements for additional pages -->
Add the new URL patterns to your project's urls.py
:
# my_app/urls.py
from django.urls import path
from my_app.views import MyPDFView
urlpatterns = [
path('pdf-file/', MyPDFView.as_view(response_type='pdf'), name='pdf-file'),
path('pdf-html/', MyPDFView.as_view(response_type='html'), name='pdf-html'),
path('pdf-download/', MyPDFView.as_view(response_type='download'), name='pdf-download'),
]
Visit the belows listed URLs:
title
: Title of the PDF document (used in <title>
tag).css
: Content of the CSS files specified in the css_paths
attribute.content
: Content of the HTML template.response_type
: Type of the response (pdf
, html
or download
).svg
template tagsvg
template tag is provided by the django-pdf-view
package. This template
tag can be used to include SVG images in the PDF document.
Usage example:
{% load svg %}
<!-- Some HTML content -->
{% svg 'path/to/image.svg' %}
<!-- Some more HTML content -->
You can also dynamically set a custom color to the SVG by adding
data-dynamic-color="true"
to elements in the SVG file that contain the fill
attribute.
Example:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path fill="white" data-dynamic-color="true" .../>
</svg>
and then in the template:
{% load svg %}
<!-- Some HTML content -->
{% svg 'path/to/image.svg' 'black' %}
<!-- Some more HTML content -->
In the above example, the fill color of the SVG will be changed from white to black.
If you encounter any bugs or have any requests, please use GitHub issue tracker to report them.
Contributions are welcome! Please feel free to submit a Pull Request.
FAQs
Django app for seamlessly displaying and downloading PDF documents in browser
We found that django-pdf-view demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.