【发布时间】:2014-08-06 19:51:19
【问题描述】:
我可以将大文件作为 pdf 文件上传到网页没有问题。但我想使用箭头浏览书页而不是一次上传整本书,因为这可能需要很长时间。 任何人都可以帮助如何在有或没有数据库的 mvc 应用程序中做到这一点?如果需要数据库,Mongodb 会是更好的选择吗?我不希望人们下载这本书;他们可以在线阅读吗?
【问题讨论】:
标签: asp.net-mvc pdf-generation
我可以将大文件作为 pdf 文件上传到网页没有问题。但我想使用箭头浏览书页而不是一次上传整本书,因为这可能需要很长时间。 任何人都可以帮助如何在有或没有数据库的 mvc 应用程序中做到这一点?如果需要数据库,Mongodb 会是更好的选择吗?我不希望人们下载这本书;他们可以在线阅读吗?
【问题讨论】:
标签: asp.net-mvc pdf-generation
首先,如果您以视觉方式显示内容,则无法阻止人们下载您的内容,但您可以通过使其难以下载来阻止他们。
话虽如此,您不需要数据库来做您想做的事。你可以,但这不是必需的。您可以简单地在网上找到一些处理 PDF 的库,例如 iTextSharp 在上传时将书切成每页 1 个 PDF,这样您就有一堆小文件。
然后诀窍很简单,您查询 PDF 库以加载文件 Page1.PDF(任意名称)提取文本格式并输出为文本很好地具有 HTML。当用户单击第 2 页链接时,使用新的 PDF 重新加载页面以用于显示。
这样做会阻止用户查看或访问 PDF 文件本身,如果他想下载所有文件,则必须手动复制粘贴每一页,如果他是开发人员,则必须通过代码复制粘贴。由于懒惰,大多数普通用户不会手动复制粘贴 300 页。
我个人会做的是每个上传的文件我都会创建一个带有书名的文件夹,并将文件命名为 1.pdf、2.pdf .... 每页。像这样,如果我查询目录列表,我会得到所有书籍的列表,如果我检查其中的文件数,我就会知道总页码。这将允许我在没有数据库的情况下运行所有这些。
【讨论】:
Library.PdfObject.Page[10].Save("11.PDF"); 之类的东西,您甚至可以将 PDF 文件合并在一起
page--或page++的新参数重新查询页面