问题标签 [djvu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
420 浏览

javascript - 如何通过解析 JavaScript 文件将数百个 DJVU 文件转换为 TIFF 文件?

我有大量DJVU 文件,我需要将它们全部转换为 TIFF 文件。它们都是本地网站的一部分。本地我的意思是未发布的网站。它像地图一样构建,使用具有透明度的 JPEG 图像、PNG 和 GIF 来布局概览图、HTML、CSS 和一些 JavaScript(使用 jquery)。概览图的每个部分都与特定的 DJVU 文件相关联。当您单击地图的一部分时,会打开一个新的浏览器窗口并显示存储在 DJVU 文件中的实际地理地图。

我将尝试解释这里的结构。DJVU 文件示例:

112_87_10_0.djvu

这将必须转换为 TIFF 并重命名,如下所示:

HEK_S044_Vitsand_1883-95.tif

它还必须存储在具有相似名称的新文件夹中。在此示例中,文件夹的名称如下所示:

044 Vitsand

所以转换后的文件的搜索路径是这样的:

044 Vitsand\HEK_S044_Vitsand_1883-95.tif

前面有 0 的数字 44 只是一个数字。Vitsand 是地图的名称,也是瑞典韦姆兰县一个小村庄的名称。根据 ISO 3166,字母 S 是县的名称。最后一部分是地图制作的年份间隔。

我的问题是这需要时间手动完成,而且我很容易在长时间执行此操作后感到厌烦而引入错误。如何实现自动化?我不是一个真正的程序员。事实上,我最近才开始学习 JavaScript。有人愿意为我写剧本吗?至少,请给我一些关于使用什么语言、方法和工具等的指示。

我在一个名为的文件中四处lan_s.js寻找,我可以看到它包含我用来手动命名文件的所有信息。下面是上面 DJVU 文件的对应行的样子:

这存储在<map name=\"slan_harads\">\和之间</map>\。我不确定这些反斜杠代表什么,但它们似乎是多余的。里面的标签比较多<area>,这里就不贴了。但它们都有相同的语法,但地图表名称不同,DJVU 文件名不同,地图年份也不同。所以Vitsand','112_87_10_0.djvu','1883-95这里是最重要的部分。该文件lan_s.js涵盖整个韦姆兰县。其他县也有其他类似的文件。我需要对那些做同样的事情。

我想使用 Image Magick 之类的工具进行转换过程。它可以将 DJVU 转换为 TIFF,它允许我将压缩显式设置为无。我不想在不问我的情况下使用应用 LZW 压缩的工具。

(对于好奇的人来说,HEK 是“Härads-Ekonomisk-Karta”的缩写。“härad”是以前在瑞典使用的一种地理划分。它与英格兰和其他英语国家使用的“Hundred”相当。 )


开始.html

索引.html

我故意在这里省略了body标签。太多了,线条在永恒中水平扩展。

lan_s.js

所以这是我上面提到的 JavaScript 文件。

0 投票
2 回答
2409 浏览

pdf - 那里有高质量的 djvu 到 pdf 转换器吗?

我正在尝试将 djvu 文档转换为 pdf 文档。文档是书籍,需要批量转换。

我使用过的所有 djvu 到 pdf 转换器,包括 ddjvu 实用程序、a-pdf-2-djvu、在线转换器和其他转换器都存在转换为 pdf 时文本质量显着下降的问题。

在将 djvu 转换为 tif 时,您会注意到同样的事情。

0 投票
1 回答
175 浏览

pinvoke - PInvoke - 从 C# 代码调用 DJVU 函数时出现问题。尝试读取或写入受保护的内存

更新 3-4-15:11IS 正如 David 所建议的修改 PInvoke 如下,这次我收到不同的错误“未处理的类型 System.ExecutionEngineException 的异常发生在 mscorlib.dll 中”

感谢大卫宝贵的时间,我认为已经接近修复。

历史

我知道这个主题有很多问题,但没有一个有助于解决我目前面临的问题。

下面是C语言的API函数

下面是在 .NET 代码中添加的 C 函数的 PInvoke 签名

下面是我如何在 c# 代码中调用此函数

在上面的代码中调用 ddjvu_page_render 会抛出“试图读取或写入受保护的内存。这通常表明其他内存已损坏。” 在这篇文章之前,我一定已经尝试过所有可以在各种博客中找到的选项。感谢任何帮助,几乎是我一无所知的一天,您的及时帮助可以挽救我的工作

更新 3-4-15:7:44IS 此代码使用DJVULibre

更新 3-4-15:8:35IS

这是我在表单加载中的代码

在 OnPaint 函数中,我有以下代码

ddjvu_page_render 应该返回要在给定矩形区域中呈现的页面的任意数据。之后,我应该能够从任意数据创建图像并在屏幕上显示

0 投票
1 回答
1198 浏览

pdf - 如何将 DJVU 文件转换为 PDF

有许多仅以 DJVU 格式提供的书籍,其中文本是可选的,而且尺寸很小(300 页小于 5 MB)。由于 DJVU 查看器在文件注释方面很差,我想将它们转换为 PDF。

将 DJVU 书籍转换为 PDF 的选项有哪些,可以保留可选择的文本并且不会产生巨大的(x10 大)PDF 文件?

0 投票
1 回答
237 浏览

javascript - 如何检查用户的浏览器是否可以使用 JavaScript 查看 DJVU 文件

我正在开发一个生成压缩 .djvu 文件并有一个用于查看 .djvu 文件的页面的应用程序。

我想主动检查用户的浏览器是否能够打开 .djvu 文件,并在他们的浏览器无法打开 .djvu 文件时提供推荐插件的链接。

我想积极主动地推荐插件的原因是因为没有通用的解决方案可以在浏览器中查看 .djvu 文件,并且找到合适的插件并非易事。

我目前的解决方案(在编写任何代码之前)是检查用户浏览器,然后检查是否安装了特定插件,但这不是很好或未来证明。(例如,如果用户安装了我没有检查的不同/新插件)

0 投票
1 回答
335 浏览

javascript - 从服务器加载浏览器中的文件并且 .djvu 文件不加载

我正在编写一个在 iframe 中加载文件的应用程序。它适用于 .pdf 和图像文件,但不适用于 .djvu 文件。文件地址正在通过 AngularJS (v1.2) 传递到 iframe

当我尝试加载 .djvu 文件时,我收到 404.3 Not found 错误。下面是正在渲染的视图:

索引.cshtml

AngularJS 将 url 作为可信资源 url 传递给 iframe

我已尝试按照推荐的步骤操作:

  • 将处理程序添加到 Web.config

<system.webServer> ... <staticContent> <!-- .DjVu files handler --> <mimeMap fileExtension=".djvu" mimeType="image/vnd.djvu"/> <mimeMap fileExtension=".djv" mimeType="image/vnd.djvu"/> </staticContent>

  • 向 IIS 添加了 MIME 类型
  • 检查是否安装了 djvu 插件(我可以从互联网上加载 djvu 文件)
  • 将文件 url 设置为<embed>标记的源应用程序在 .Net 4.0、C# 后端和 AngularJS 上运行。

我不知道如何获得这种加载。

0 投票
1 回答
91 浏览

c++ - 如何从回调方法访问自定义类成员

我想从回调方法访问自定义类的成员。

我正在 m_displayImg->bIsPressAndHold = true;从回调函数访问。

IE

它给出错误“标识符 M_displayImg 未定义”。

如何访问该自定义类成员?

0 投票
2 回答
115078 浏览

javascript - ArrayBuffer 到 blob 的转换

我有一个项目需要在浏览器中显示 djvu 模式。

我在 Github 上找到了这个旧,据我所知,它将 djvu 文件转换为 bmp,然后将它们放入画布元素中。

正如我所说,图书馆很旧(最后一次提交是 5 年前),所以我需要做一些更正。主要问题是 lib 使用过时的 BlobBuilder。

我为解决此问题而采取的步骤:

  1. 通过 Chrome DevTools 解压这个库
  2. 初始错误位于第 3774 行var c = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : console.log("warning: cannot build blobs")
  3. 我注释掉了这一行
  4. 接下来,我注释掉了一行c = new c;和下面的一些行。

所以,现在看起来是这样(变量 I 是数组缓冲区,而 ololo1 和 ololo2 是某种偏移和限制)

现在我遇到了错误“无法解码图像/bmp.bmp!”(在 h.onerror 处理程序中抛出)。

所以,我的问题是:我做错了什么?

0 投票
1 回答
64 浏览

thumbnails - 根本没有生成 DjVu 缩略图

我在 MediaWiki wiki 上安装了 DjVu,但根本没有生成缩略图。

我得到了 DjVu 徽标和“(0 × 0 像素,文件大小:13.36 MB,MIME 类型:image/vnd.djvu)”

可以做些什么来使缩略图按应有的方式生成?

0 投票
1 回答
480 浏览

ios - 如何在 UIWebview 中查看 DJVU 文件

我有 iOS 应用程序,我想在其中查看.djvu文件中的数据。有什么方法可以.djvu在 Swift 或内部读取文件UIWebview

我还尝试了以下解决方案来在 uiwebview 中查看 djvu 文件,但这无济于事。

1.直接打开djvu文件在uiwebview

2.其次,我尝试将 djvu 文件转换为 pdf,并将转换后的 pdf 文件显示为视图。参考链接:https ://github.com/MadhuriMane/ios-djvu-reader 但这会产生低质量的镜像。

3.我尝试在UIDocumentInteractionController()委托方法的帮助下预览文件,但没有成功。

请提出任何可能的方法。