膨大な数の DJVU ファイルがあり、それらをすべて TIFF ファイルに変換する必要があります。それらはすべてローカル Web サイトの一部です。ローカルとは、未公開のウェブサイトを意味します。これは地図のように構築されており、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 はマップ シートの名前であり、スウェーデンの Värmland 郡にある小さな村の名前でもあります。文字 S は、ISO 3166 に準拠した郡の指定です。最後の部分は、マップが作成された年の間隔です。
私の問題は、これを手動で行うには時間がかかることです。また、これを長時間行った後、退屈するだけで簡単にエラーが発生する可能性があります。これをどのように自動化できますか? 私は実際にはプログラマーではありません。実際、私は最近 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
は、Värmland 郡全体をカバーしています。他の郡と同様のファイルが他にもあります。私はそれらと同じことをする必要があります。
変換処理には Image Magick などのツールを使用したいと考えています。DJVU を TIFF に変換でき、圧縮を明示的になしに設定できます。LZW 圧縮を無断で適用するツールを使用したくありません。
(ちなみに、HEK は「Härads-Ekonomisk-Karta」の略です。「härad」は、スウェーデンで以前使用されていた地理的区分の一種でした。これは、イギリスや他の英語圏の国で使用されている「100」に匹敵します。 )
start.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>
index.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>\
\
";