PDFをJWWに変換する方法!

スポンサーリンク

PDFをJWWに変換する無料ソフトが凄く便利だったので紹介します。

ソフトの概要(ダウンロード)

『PDF to JWW』は、PDF形式のファイルを読み込み、その中のベクトルデータをJW_CADのデータに変換して、JWW形式(ver6.0形式)のファイルで出力します。

PDF出力された図面データを、JW_CADで利用できないものかという発想から開発されたツールです。
CADからPDFに出力される線や文字等のベクトル図形のみをPDFファイルから抽出変換するもので、PDF内の写真や画像等は一切無視します。
スキャナー等で紙をスキャンして作成したPDFは変換できません。

PDF to JWWの詳細情報 : Vector ソフトを探す!

それでは、↑Vectorにアクセスし、下記のダウンロードページからダウンロードしてみましょう。

インストール・アンインストール

インストーラはありません。
zipファイルを解凍して出来るPDF2JWWフォルダをそのままドライブ上の適当な所に置いて下さい。

アンインストールする場合は、このフォルダをそのまま削除すればOKです。
レジストリ操作等はしていません。

PDF2JWWフォルダ内には
 ・PDF2JWW.exe
 ・PDF2JWW.JWF
 ・JWsxf.dat
 ・zlib1.dll
の、4つのプログラムファイルと
 ・ReadMe.txt
 ・このソフトで出来ること、出来ないこと.txt
の、2つの説明(テキスト)ファイルが収められています。

一応、これだけでこのプログラムは利用できます。

これに加えて、GhostScript(以下、GSと表記) がインストールされていれば、変換可能なPDFファイルの範囲が広がりますが、必須ではありません。
★詳しくは「このソフトで出来ること、出来ないこと.txt」を参照。

操作方法

①PDF2JWWフォルダを開き、『PDF2JWW.exe』をクリックします。

②ファイル→PDF読込を行うか、PDFデータをドラッグ&ドロップします。

③図面が表示されれば、変換が成功です。

④次にファイル→JWW保存を行い、データを保存します。

⑤保存したデータを開くと真っ黒で何も見えません。

⑥範囲→全選択を押すと図面があることがわかりますが、このままでは使いにくいです。

⑦設定→基本設定→色・画面→色彩の初期化→背景色:白を選択し、『OK』を押します。

⑧背景が白になり、図面が見えて使いやすくなります。

⑨ここまで変換できれば、あとは縮尺を調整して、図面として利用することができます。

変換できないPDFについて

PDFファイルに内蔵されるデータには、ベクター(ベクトル)データとラスタデータがあります。

【ベクターデータ】
画像を数値で記録している画像形式。
例えば直線図形は座標上のA点とB点を線で繋ぎ、その線種、色、巾、といった情報も記録される。
文字も文字コードで表され、その文字が座標上のどの位置にあるか、という情報が記録される。

【ラスタデータ】
1pixelごとに色・濃度の情報を記録する画像形式。
縦横 〇〇ドット x 〇〇ドット の碁盤目状の描画エリアで、ドットを塗りつぶすことで線や文字を「絵」として表現する。

通常、パソコンユーザーが PDFファイルを作成するとき
・ソフト(CAD等)の印刷コマンドから「PDFを作成する仮想プリンタ」等で作成したPDFファイルは【ベクターデータ】。
・「スキャナ」や「複合機」等で紙の文書をスキャンして作成したPDFファイルは【ラスタデータ】。
となる。

PDF2JWWは、CADからPDFに出力される線や文字等の【ベクターデータ】で表現される図形をPDFファイル内から抽出変換するもので、【ラスタデータ】で表現される写真や画像等は一切無視します。

変換しようとするPDFファイルが【ベクターデータ】か【ラスタデータ】かを調べるには、PDFビューア(Adobe Acrobat Reader 等)でそのPDFを表示し、文字や線の曲線部を拡大してみると一目瞭然で、
・拡大しても曲線部が滑らかに表示されるものが【ベクターデータ】。
・拡大すると曲線部のドット表示が荒くなるものが【ラスタデータ】。

JWW への変換仕様(抜粋)

PDFファイルをダイレクトにJw_cad用データファイルに変換。
Jw_cadデータのバージョンは ver6.0
PDFファイルからの変換対象はベクトルデータのみ。
PDFファイル内の画像データは変換対象外

カラーのPDF、色付きで表示されている線・文字の色は JWWには反映されない
文字サイズは Jw_cadの文字種によらず、任意サイズの文字として極力PDF内で表示されているサイズの文字で変換する。(フォントの種類については後述)
線種は実線、破線、一点鎖線に限定する。

変換できない問題点 ※興味がある人は見てね。

以下は、PDFからのデータ変換が困難な理由と、変換後のデータはCADの精密な作図には利用し辛いという理由です。

縮尺の問題

PDFは縮尺情報を持っていないため、変換後に縮尺合わせの作業が必要になる。
縮尺を合わせるには以下の2つの方法がある。

① PDF2JWW 内の縮尺設定コマンド(ver1.1~)で合わせる
  出力されるJWW データは全てのグループが 1/○○ という縮尺設定になる。

② Jw_cad側で拡大縮小して縮尺を合わせる
  PDF内で紙サイズは指定されているので、PDF2JWWは、その紙サイズの1/1縮尺でJWWへ出力する。
  この場合、JWW側で各グループ毎に拡大縮小して縮尺を合わせる必要がある。

上記のように寸法を当たると実際の図面寸法と100倍差があるので、「縮尺・読取 設定」にて「全レイヤグループの縮尺変更」にチェックを入れ、縮尺を「1/100」、「図寸固定」を選択して『OK』します。

注)①②のどちらで縮尺を合わせても多少の誤差はどうしても残る。

データ精度の問題

変換後にJw_cad 上で縮尺合わせ作業をしても、どうしても誤差は残る
例えば、910mmピッチでグリッドを作図し、1/100 600dpiで出力した PDFを変換後にJw_cad 上で縮尺合わせして測定すると、そのピッチは910.65 906.42 910.65 906.42 …のようになる。
これは元の PDF が作成された時点で発生するもので、PDFの仕様であり、必ずそうなる。
上記のように 1/100の図面を600dpiで出力した PDFの場合、1インチ:2540mm、なので、1dotの実寸巾:4.2mm となり、PDF作成時に 1dotの実寸巾以内のデータは全て 1dotに丸められてしまう。
その時点で実寸 4.2mm 以内のデータ情報は失われてしまうので変換後、Jw_cad 側で縮尺を合わせても、各図形の座標やサイズに、実寸法4.2mm 程度の誤差が残る。

例)2400dpiで出力された PDFの場合
 元の図のスケールが1/100なら、実寸誤差0.6mm
 元の図のスケールが1/ 50なら、実寸誤差0.3mm
と、誤差が完全に解消されることはない。

又、PDF 作成ソフトにもよるらしいが、X方向とY方向間でも僅かに縮尺が一致しないケースもある

線種の問題

PDF に描かれている線種と全く同じにするには無理がある。

元のアプリ(CAD等)で一本の破線、一点鎖線等だった線がPDF出力された時点で元の通り一本の破線、一点鎖線としてPDF化される場合と、短い線の連続としてPDF化される場合とがある。
PDF2JWWでは、その書き換えられた線形状を変換するので、元データの通りの一本の破線、鎖線になるか、短線の連続になるかはコントロールできない。
よって、例えば変換後の Jw_cad上の平面図で、縦横の通り芯が短い線の連続になった場合、その交点がスナップできないこともある。
一本の破線、鎖線としてPDFに記録されている線は一本の破線、鎖線として変換する。

円・曲線の問題

元のアプリ(CAD等)で円、曲線だった線は PDF出力されると、PDF内では全てベジェ曲線に置き換えられている。(これはPDFの仕様であり、必ずそうなる)
PDFには「円」「円弧」等のコマンドは無く、全ての曲線は「ベジェ」のみで表現される。
理論上、ベジェでは真円は描けないので、PDF文書内で描かれている「円」はよく見ると、全て僅かに歪んでいる。
PDFは紙に印刷するというイメージで作成されているので、人の目で見てほとんど判別できない程度の僅かな歪は構わない、ということらしい。
大き目の円はある程度歪みの少ない円形に変換されるが、小さな円はかなり歪む。
ドット単位で座標が指定されているため、小さな円では円を表現するPDF内のベジェの座標も荒くなり歪んでしまうのはやむを得ない。

PDF内の曲線図形が元は円だったのか、自由曲線だったのかを判別する手段は無い。
Jw_cadはベジェのデータ形式を持っていないので、PDF2JWWでは PDF内の曲線は全て多角形に変換し、「円」「円弧」等のデータは生成しない仕様とした。
よって、例えば変換後の Jw_cad上のデータで、円と直線の交点を拾って角度を調べたり、長さを求めたりというCAD的な作図行為は出来ないことになる。

文字の問題

世に出回っている「PDFを変換するソフト」の多くで「文字化け」が発生する理由はここにあるらしい。
2byte文字圏でのPDF内の文字コードは、一部のASCII文字を除いてほとんどがAdobe社独自のCID文字コードで記録されている。
通常、このCIDコードを ShiftJis化する方法はAdobe社から公表されていない。

変換するPDFファイル内に ToUnicodeCmapという文字コード変換情報が同梱されている場合と、いない場合とがある。
同梱されていれば、これを利用してPDFファイル内のCIDコード文字を UniCode化し、そこからShiftJis化変換が可能だが、PDFの仕様上、同梱は義務付けられていない。

一般的なCADのようなアプリから「PDF redirect V2」や「pdfCreator」等で作成した多くのPDFには ToUnicodeCmapが同梱されているようだが、これが同梱されていない
PDFは文字変換をあきらめるしかない。(CIDコードからの変換情報(外部CMAP)が必要だが、これはAdobe社が非公開にしている)

フォントの問題

PDFで使われる文字はPostScriptで言うコンポジットフォントと、CIDフォントがあり、コンポジットフォントはUniCodeを経由してShiftJis化することで、PDF内で指定されているフォント名で、JWW用に利用できるが、CIDフォントは、各PDF内で定義される文字形状(= Glyph = 文字を表す図形 = 絵)で表現されており、これ(文字形状、サイズ、間隔)を忠実にJWW用に変換することは無理(と思う)。
そのため、CIDフォントは全て「MS ゴシック」に読み替えている。

PDFのデータフォーマットの問題

一応、PDFreference32000_2008 (PDFver1.7) をベースにこのソフトを作成した。

PDFファイルを作成するソフト(仮想プリンタ等)は世の中に数多くある。
同じ元図から作られるPDFファイルはどのソフトを使って作成しても、PDFビューアで見る限り同じものが作られているように見える。
しかし大抵の場合そのファイルサイズは異なり、ファイル内のデータの構造(フォーマット)も、同じものは全く無いと言っていいほど異なっている。

PDFファイルの規格は Adobe社が制定し、そのフォーマットも Adobe社から公開されているが、その中で許容されているデータ配列・格納方法の幅が広く、作成アプリごとに作成するPDF内のデータ配列・格納方法等、その幅の中で差異がある。

まとめ

PDFから図形情報を取り出し、変換するツールは世にあまり多くありません。

PDF2JWWは、本来の目的である「PDF出力された図面データを、Jw_cadで利用」するための必要最小限の機能に限定した仕様になっています。

素晴らしいフリーソフトなので、ぜひお試しあれ!

PDF to JWWの詳細情報 : Vector ソフトを探す!

タイトルとURLをコピーしました