我有大量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 文件的对应行的样子:
<area onmouseover=\"tooltip.show('Vitsand', 150);\" onmouseout=\"tooltip.hide();\" href=\"javascript: openMapEx('Värmlands län', 'J112-87-10','Vitsand','112_87_10_0.djvu','1883-95')\" alt=\"Vitsand\" shape=\"poly\" coords=\"144,154,166,155,166,172,143,171\">\
这存储在<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>
<head>
<title>Welcome!</title>
<style type="text/CSS">
</style>
<script type="text/javascript">
window.onload=timeout;
function timeout(){
window.setTimeout("redirect()",3000)}
function redirect(){
window.location="DATA/index.html"
return}
</script>
</head>
<body>
<img src="DATA/images/new_splash.jpg">
<body onload="timeout()" onClick="redirect()">
</body>
</html>
索引.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Häradsekonomiska kartan</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="hek.js"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.maphilight.min.js"></script>
<script type="text/javascript">$(function() { $('.map').maphilight(); });</script>
<script language="javascript" src="lan.js"></script>
<script type="text/javascript" src="lan_bd.js"></script>
<script type="text/javascript" src="lan_ab.js"></script>
<script type="text/javascript" src="lan_c.js"></script>
<script type="text/javascript" src="lan_d.js"></script>
<script type="text/javascript" src="lan_e.js"></script>
<script type="text/javascript" src="lan_k.js"></script>
<script type="text/javascript" src="lan_m.js"></script>
<script type="text/javascript" src="lan_n.js"></script>
<script type="text/javascript" src="lan_o.js"></script>
<script type="text/javascript" src="lan_s.js"></script>
<script type="text/javascript" src="lan_t.js"></script>
<script type="text/javascript" src="lan_u.js"></script>
<script type="text/javascript" src="lan_w.js"></script>
<script type="text/javascript" src="hlp.js"></script>
<style type="text/css" media="screen">
/* local styles here */
</style>
</head>
我故意在这里省略了body标签。太多了,线条在永恒中水平扩展。
lan_s.js
所以这是我上面提到的 JavaScript 文件。
var lan_s = "\
<map name=\"slan_harads\">\
LINES LINES LINES...
<area onmouseover=\"tooltip.show('Vägsjöfors', 150);\" onmouseout=\"tooltip.hide();\" href=\"javascript: openMapEx('Värmlands län', 'J112-87-15','Vägsjöfors','112_87_15_0.djvu','1883-95')\" alt=\"Vägsjöfors\" shape=\"poly\" coords=\"143,171,166,172,165,189,142,188\">\
<area onmouseover=\"tooltip.show('Vitsand', 150);\" onmouseout=\"tooltip.hide();\" href=\"javascript: openMapEx('Värmlands län', 'J112-87-10','Vitsand','112_87_10_0.djvu','1883-95')\" alt=\"Vitsand\" shape=\"poly\" coords=\"144,154,166,155,166,172,143,171\">\
<area onmouseover=\"tooltip.show('Kärnberget', 150);\" onmouseout=\"tooltip.hide();\" href=\"javascript: openMapEx('Värmlands län', 'J112-87-5','Kärnberget','112_87_5_0.djvu','1883-95')\" alt=\"Kärnberget\" shape=\"poly\" coords=\"145,138,167,139,166,155,144,154\">\
MORE LINES...
</map>\
\
\
<img src=\"ROOT/LAN/images/s.gif\" usemap=\"#slan_harads\" border=0>\
\
";