すべての文書がWordから始まるわけではありません。LaTeXと格闘せずに論文や手紙、履歴書、講義ノートを書ける手段としてTypstを使う人が増え、マニュアルや仕様書、運用手順書をAsciiDocで管理しているチームもたくさんあります。そこへ署名入りのスキャンを求められたのに、目の前のパソコンにはソースファイルしかない、ということがあります。

Look Scannedはこのどちらも開けるようになりました。.typファイルはTypst(.typ)をスキャン風PDFに変換、.adocと.asciidocファイルはAsciiDoc(.adoc)をスキャン風PDFに変換を使います。文書はブラウザの中でページになります。プレビューで確認してスキャン効果を加えれば、本物のスキャナーを通したようなPDFをダウンロードできます。Typst CLIのインストールも、RubyやAsciidoctor PDFも、アカウントへのログインも必要ありません。

Typst:本物のコンパイラーがブラウザで動く

Look Scannedでは、ブラウザ向けにビルドされた公式のTypstコンパイラー(Typst 0.14)が動きます。typst compileと同じコンパイラーなので、ページ、改行、数式、表は手元のパソコンでコンパイルしたときと同じになり、文書で設定した用紙サイズや余白もそのまま使われます。

  • 最初の1回は少し時間がかかります。 コンパイラーとTypstのフォント(合わせて約20 MB)を、初回だけLook Scannedからダウンロードします。2回目以降はブラウザのキャッシュから読み込むので、オフラインでもTypstファイルを開けます。
  • 単一ファイルのみで、パッケージは使えません。 コンパイルできるのは、1つのファイルで完結した文書だけです。パッケージをダウンロードする場所がないため、#import "@preview/…"の行はエラーになります。ほかのファイルを読み込むものも同じで、#imageで配置する画像、#includeで読み込む章、CSVやJSONファイルから読み込むデータは使えません。
  • フォントはTypstの標準フォントのみです。 本文はTypstに付属するフォントで組まれます。Libertinus Serif、New Computer Modernとその数式用フォント、そしてコード用のDejaVu Sans Monoです。パソコンにインストールされたフォントは使えないため、文書で指定したほかのフォントはこれらに置き換わります。ラテン文字(ベトナム語を含む)、ギリシャ文字、キリル文字、ヘブライ文字には対応しています。一方、日本語、中国語、韓国語の文字を表示できるフォントはなく、アラビア文字、タイ文字、デーヴァナーガリーなども正しく扱えません。これらの文字を使う文書は、プレビューで確認してください。
  • ソースはコンパイルが通る必要があります。 Typstがエラーを報告した場合は、ページの代わりにエラーメッセージが表示されます。

Typstはスキャン効果を加える前に本物のPDFを書き出すので、そのテキストを残すこともできます。PDFで保存するときに「出力設定」で「元のテキストを保持(OCRに似た機能)」をオンにすると、スキャン風PDFでも文字を検索したりコピーしたりできます。

AsciiDoc:Rubyなしで動くAsciidoctor

AsciiDocファイルは、AsciiDocの標準的な処理系であるAsciidoctorのJavaScript版がブラウザの中で変換します。結果は余白1インチのA4ページにレイアウトされ、次の要素が反映されます。

  • 文書ヘッダー:タイトル、著者、改訂情報の行。文書で:toc:を設定していれば目次も入ります。
  • セクション、リスト、表、脚注、引用、コードのコールアウト。注記ブロック(admonition)は、アイコンではなくNoteやWarningといったラベルを文字で表示します。
  • 文書で:stem:を設定している場合のSTEM数式。数式用のフォントできちんと組版されます。AsciiMathとLaTeXのどちらの記法も、インラインとブロックの両方で使えます。
  • 文書で:source-highlighter:を設定している場合のコードリスト。どのハイライターが指定されていても、構文に合わせて色付けされます。この属性がなければ、ほかの環境と同じく色なしのままです。
  • 長い表やコードリストは次のページへ続き、表の行が途中で切れることはありません。

反映されないものもあります。

  • include::はたどりません。 includeディレクティブは、読み込まれる内容の代わりに、そのパスへのリンクとして表示されます。先に1つのファイルにまとめてください。
  • 画像には完全なURLが必要です。 images/diagram.pngのような相対パスで参照した画像は見つかりません。ファイルは単体で開かれ、元のフォルダーがないためです。https://から始まる完全なURLの画像は配信元のサイトから読み込まれるので、インターネット接続が必要です。
  • 図はソースのままです。 Asciidoctor Diagramは使えないため、PlantUMLやMermaidのブロックは入力したテキストのまま表示されます。
  • フォントはお使いの端末のものです。 本文はパソコンやスマートフォンにインストールされたフォントで組まれるので、同じファイルでも端末によって改ページの位置が変わることがあります。
  • 非常に長いファイルは時間切れになることがあります。 レイアウトは約30秒以内に終わる必要があるため、本1冊分のような文書は小さなファイルに分けてください。
  • .ascファイルは受け付けません。 この拡張子はふつうPGPの鍵や署名に使われます。AsciiDocファイルなら、開く前に.adocに名前を変えてください。

.typや.adocファイルをスキャン風PDFにする手順

  1. Typst(.typ)をスキャン風PDFに変換またはAsciiDoc(.adoc)をスキャン風PDFに変換を開き、ファイルを選びます。
  2. ページの準備ができるまで少し待ち、プレビューを1ページずつ確認します。見出し、数式、表、コードをチェックしてください。
  3. スキャン効果を調整します。小さな文字や込み入った数式がある場合は、ぼかしとノイズを控えめにしましょう。
  4. 「スキャンされたPDFを生成」をクリックし、続けて「スキャンされたPDFをダウンロード」をクリックします。

画像のほうが使いやすい場合は、各ページをJPGやPNGで書き出すこともできます。選び方はPDF・JPG・PNGの比較で説明しています。Pro版なら、一括スキャンで複数の.typや.adocファイルをまとめて処理できます。

ファイルはお使いの端末から出ません

どちらの形式も、変換とスキャンはブラウザの中で行われ、ソースファイルがサーバーにアップロードされることはありません。Typstの場合、ダウンロードするのはLook Scanned自身のサイトにあるコンパイラーとフォントだけで、パッケージやほかのファイルを取りに行くことはありません。AsciiDocの唯一の例外はhttps://から始まる完全なURLの画像で、ブラウザでそのページを開いたときと同じように、配信元のサイトから取得されます。

知っておきたいこと

  • 出力は画像でできています。 本物のスキャンと同じく、PDFの文字は選択も検索もできません。ただし、Typstファイルで上のテキストのオプションを使った場合は別です。編集用に.typや.adocのソースは残しておいてください。
  • スキャン効果は必ずかかります。 Look Scannedは文書をスキャンしたように見せるためのツールです。きれいなPDFだけが必要なら、TypstやAsciidoctor PDFで書き出してください。
  • パッケージやinclude、図が必要な場合は? TypstやAsciidoctor PDFが入っているパソコンでPDFを作り、そのPDFにLook Scannedでスキャン効果を加えてください。難しい部分は元のツールが済ませているので、どんな文書でもこの方法なら対応できます。

ほかの形式で書いていますか?Look ScannedでのLaTeXファイルやMarkdown・HTML・TXTファイルの扱いもご覧ください。

スキャンしたように見せたい.typや.adocファイルがありますか?TypstもAsciiDocも、さっそく試してみてください。