【问题标题】:what is the best way to implement interactive book in c#在 C# 中实现交互式书籍的最佳方法是什么
【发布时间】:2014-08-06 19:51:19
【问题描述】:

我可以将大文件作为 pdf 文件上传到网页没有问题。但我想使用箭头浏览书页而不是一次上传整本书,因为这可能需要很长时间。 任何人都可以帮助如何在有或没有数据库的 mvc 应用程序中做到这一点?如果需要数据库,Mongodb 会是更好的选择吗?我不希望人们下载这本书;他们可以在线阅读吗?

【问题讨论】:

    标签: asp.net-mvc pdf-generation


    【解决方案1】:

    首先,如果您以视觉方式显示内容,则无法阻止人们下载您的内容,但您可以通过使其难以下载来阻止他们。

    话虽如此,您不需要数据库来做您想做的事。你可以,但这不是必需的。您可以简单地在网上找到一些处理 PDF 的库,例如 iTextSharp 在上传时将书切成每页 1 个 PDF,这样您就有一堆小文件。

    然后诀窍很简单,您查询 PDF 库以加载文件 Page1.PDF(任意名称)提取文本格式并输出为文本很好地具有 HTML。当用户单击第 2 页链接时,使用新的 PDF 重新加载页面以用于显示。

    这样做会阻止用户查看或访问 PDF 文件本身,如果他想下载所有文件,则必须手动复制粘贴每一页,如果他是开发人员,则必须通过代码复制粘贴。由于懒惰,大多数普通用户不会手动复制粘贴 300 页。

    我个人会做的是每个上传的文件我都会创建一个带有书名的文件夹,并将文件命名为 1.pdf、2.pdf .... 每页。像这样,如果我查询目录列表,我会得到所有书籍的列表,如果我检查其中的文件数,我就会知道总页码。这将允许我在没有数据库的情况下运行所有​​这些。

    【讨论】:

    • 感谢弗兰克;你的想法给了我很大的控制权,但对于一本 500 页的书,我需要 500 个单独的 pdf 文件!这是可行的吗?获取这 500 个文件的最简单、最快的方法是什么?是否可以对扫描仪进行编程来做到这一点?你知道 Kinko's 可以做到这一点吗?
    • 诸如 iTextSharp 之类的库会加载完整的 PDF,然后您可以简单地调用 Library.PdfObject.Page[10].Save("11.PDF"); 之类的东西,您甚至可以将 PDF 文件合并在一起
    • 是的,我可以翻阅我保存在文件夹中的书。页码可以在url中设置;但是如何通过页面上的前进和后退箭头来实现这一点?
    • 那些会打赌图片链接带有点击事件,后面的代码将使用page--page++的新参数重新查询页面
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多