簡體   English   中英

Django 在某些頁碼上打開 pdf

[英]Django open pdf on certain page number

我正在嘗試創建一個 PDF 分析 web 應用程序,但我被卡住了。 我想允許用戶打開 pdf 的某個頁面,其中有超過 300 個頁面。 那么,誰能告訴我如何使用 Django 在特定頁面的新選項卡中打開 pdf ?


編輯——實際上 Django 代碼正在 AWS 服務器上運行,我希望用戶在分析后存儲到我的媒體文件夾中的特定頁面上查看並打開 PDF。

這個問題的答案真的不是 Django 特定的,而是取決於您使用什么查看器來顯示 PDF。 如果您依賴瀏覽器來顯示它,根據Adob e ,您可以在 url 中使用錨鏈接 (#page=)(例如http://www.example.com/myfile.pdf#page=XX )盡管我認為在 Firefox 和 Chrome 之外對此的支持有所不同。

另一方面,如果您使用PDF.JS ,您將能夠以編程方式 select 呈現頁面。 您可以在查看器的示例頁面上查看如何執行此操作,此處為 。

這取決於哪個庫等。

正如@ps_ 所說,並不是真正的 django 問題。

From Adobe.com To target an HTML link to a specific page in a PDF file, add #page=[page number] to the end of the link's URL.

例如,此 HTML 標記打開名為 myfile.pdf 的 PDF 文件的第 4 頁:

<A HREF="http://www.example.com/myfile.pdf#page=4">

我能夠解決我的問題,在每次嘗試使用不同的庫之后,PDF.js 都失敗了。 解決方案非常簡單。 所以我所做的是:

第 1 步:將 MEDIA_ROOT 和 MEDIA_URL 添加到settings.py

# path to the MEDIA directory
MEDIA_ROOT = '/home/absolute/path/to/your/media/folder' 

# URL to use to open MEDIA 
MEDIA_URL = '/media/'

第 2 步:使用以下代碼更新urls.py

from . import settings
import django

urlpatterns = [
...
...
url(r'^(.*?)media/(?P<path>.*)$', django.views.static.serve,
             {'document_root': settings.MEDIA_ROOT}),
]

第 3 步:現在我在 HTML 標記中創建了一個onclick

我的 pdf 文件位於媒體目錄內的文檔文件夾中

onclick="window.open('media/documents/{{Your/Pdf/File/Path.pdf}}#page={{Page_number_to_open}}')"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM