# ファイルビューアー

Treasure AI Studio を離れずにすべてをプレビューできます。組み込みビューアーが PDF、スプレッドシート、プレゼンテーション、コードなどを描画するため、AIが生成したレポートやアップロードしたドキュメントを、できあがった瞬間に確認できます。ダウンロードもアプリケーションの切り替えも不要です。すべてのビューアーは読み取り専用です。ビューアーはファイルを見せる役割であり、ファイルを変更するにはチャットでAIに依頼します。

ファイルはチャット横のアーティファクトパネルにタブとして開くか、作業フォルダページから全幅で開きます。どのビューアーが描画するかは拡張子だけで決まり、どの拡張子も必ず何かに解決されます。認識されない拡張子はプレーンテキストにフォールバックするため、開けないファイルは存在しません。

注意
ファイルビューアーは、サーバーに保存されたファイルの内容をクライアント側で描画します。ビューアーで開いてもAIがファイルを再処理することはなく、ファイルの内容をそのまま描画します。

## 目的

AIが生成したファイルやアップロードしたファイルを、それぞれの種類に適した組み込みビューアーで開いて操作します。

## 前提条件

- Treasure AI Studioにサインイン済みであること（[はじめに](/ja/products/ai-studio/getting-started)）
- 現在のチャットまたは作業フォルダにファイルがあること（アップロード済みまたはAI生成）


## 対応ビューアー

Treasure AI Studio はファイルの拡張子からビューアーを選択します。下表にない拡張子はプレーンテキストビューアーで開きます。

| ビューアー  | 拡張子  | 主な機能  |
|  --- | --- | --- |
| **PDF** | `pdf` | 連続した縦スクロール、50〜300%のズーム、ページカウンター |
| **スプレッドシート** | `xlsx`, `csv`, `tsv` | ヘッダー行付きのテーブル。複数シートのXLSXワークブックにはシートタブ |
| **プレゼンテーション** | `pptx` | 全スライドをベクター画像として描画し、上から下へスクロール |
| **ドキュメント** | `docx`, `doc` | 見出し・テーブル・スタイルを保持したページレイアウトで描画 |
| **画像** | `png`, `jpg`, `jpeg`, `gif`, `svg`, `webp`, `bmp`, `ico` | 縦横比を保ったまま領域に合わせて拡大縮小 |
| **コード** | `js`, `jsx`, `ts`, `tsx`, `py`, `rb`, `go`, `rs`, `java`, `c`, `cpp`, `h`, `sh`, `bash`, `sql`, `yaml`, `yml`, `json`, `xml`, `css`, `scss`, `toml` | シンタックスハイライト、行番号、テーマ連動 |
| **Markdown** | `md`, `markdown` | Markdownの描画。チャットのAI応答と同じレンダラーを使用 |
| **HTML** | `html`, `htm` | スクリプトを有効にしたサンドボックス化iframe内で描画 |
| **ジャーニー** | `*.journey.yaml`, `*.journey.yml` | ジャーニー定義のステージとステップのフロー図。ステップ単位の設定も開ける |
| **Mermaid** | `mmd`, `mermaid` | ダイアグラムの描画、テーマ連動 |
| **プレーンテキスト** | `txt`, `log`、および認識されないすべての拡張子 | 等幅・整形済みテキスト、行番号付き |


レガシーOffice形式
**`.ppt`** と **`.xls`** のバイナリ形式は Open XML 形式より前のもので、描画されません。`.ppt` はプレーンテキストビューアーで開き、`.xls` はスプレッドシートビューアーで開きますがワークブックとしては解析されません。アップロード前に `.pptx` または `.xlsx` に変換するか、ファイルをダウンロードして PowerPoint や Excel で開いてください。なお、これらのファイルに対して Studio が表示する*アイコン*は、引き続きプレゼンテーションやスプレッドシートとして扱われます。アイコンはカテゴリを反映するもので、ビューアーの有無を示すものではありません。

## PDFビューアー

PDFビューアーはドキュメントの全ページを1つの連続スクロール列に描画し、ツールバーにズームコントロールとページカウンターを表示します。

### コントロール

| コントロール  | 説明  |
|  --- | --- |
| **ページカウンター** | ツールバー左端に現在のページと総ページ数を **`3 / 12`** の形式で表示します。スクロールに応じて更新され、最も大きく表示されているページを追跡します |
| **縮小** / **拡大** | ズームレベルを25%刻みで変更します。各ボタンは限界に達すると無効になります（縮小は50%、拡大は300%） |
| **ズーム率** | 2つのズームボタンの間に現在のズームレベルを表示します。選択すると100%に戻ります。すでに100%の場合は無効です |


### ナビゲーション

ドキュメントを縦にスクロールします。ページジャンプのコントロールもキーボードショートカットもありません。ページカウンターは表示専用で、入力欄ではありません。

### PDFに関するヒント

- **テキストベースのPDF**（デジタルで作成されたもの）が最も確実に描画されます。スキャンしたドキュメントも表示できる場合がありますが、品質は低下します。
- **パスワード保護されたPDF**は描画できません。アップロード前に保護を解除してください。
- **大きなPDF**はAIが処理する際に大量のコンテキストを消費します。50ページを超えるドキュメントでは、関連部分のみのアップロードをご検討ください。


技術的な注意事項
PDFビューアーは、ローカルにバンドルされたPDF.jsワーカーとともに `react-pdf` を使用します。ページはキャンバス上に描画され、IntersectionObserver が最も大きく表示されているページを追跡してカウンターに反映します。ズーム範囲は 0.5x〜3.0x、刻みは 0.25x です。

## スプレッドシートビューアー

スプレッドシートビューアーは表形式データをHTMLテーブルとして表示し、各シートの1行目をヘッダー行として扱います。

### 機能

| 機能  | 説明  |
|  --- | --- |
| **シートタブ** | XLSXワークブックでは、シートごとのタブが下部に表示されます。タブを選択するとシートを切り替えます |
| **ヘッダー行** | 各シートの1行目が網掛けのヘッダーとして描画されます。ヘッダー行のないファイルでは、最初のデータ行がヘッダーとして表示されます |
| **スクロール** | 大きなデータセットに対して横方向・縦方向にスクロールできます。セルは折り返さないため、幅の広い列はテーブルを縦に伸ばすのではなく横に広げます |


CSVとTSVのファイルは、シートタブのない単一のテーブルとして描画されます。これらの形式は定義上1シートしか持たないためです。区切り文字は拡張子で決まり、`.tsv` はタブ、`.csv` はカンマで分割します。

注意
スプレッドシートビューアーには、ソート・フィルタリング・列幅の変更・編集の機能はありません。ファイルを忠実に再現する読み取り専用の表示です。データを並べ替えたい場合は、AIに依頼してファイルを再生成するか、ファイルをダウンロードして Excel で開いてください。

## プレゼンテーションビューアー

プレゼンテーションビューアーはPPTXファイルをベクター画像に変換し、全スライドをデッキ本来の縦横比のまま1つの縦スクロール列に並べます。スクロールしてデッキ内を移動します。

PPTXファイルを開いたアーティファクトパネル。treasure_ai_2026.pptx というタブが1枚、ヘッダーに削除・ダウンロード・最大化・閉じるの操作があり、デッキのスライドが1列に縦に並んでスクロール表示されている。サムネイル列・スライドカウンター・発表者ノート欄はいずれもない
変換はブラウザ内で行われ、デッキのテーマ、スライドごとのレイアウト、スライドサイズが保持されます。発表者ノートは描画されません。読む必要がある場合はファイルをダウンロードしてください。

注意
プレゼンテーションビューアーには、スライドのサムネイル、キーボードナビゲーション、スライドカウンターはありません。発表用ではなく確認用にデッキを描画するものです。正確な表示や発表者モードが必要な場合は、ファイルをダウンロードして PowerPoint で開いてください。

## ドキュメントビューアー

ドキュメントビューアーは DOCX と DOC のファイルを、網掛けの背景の上にレイアウトされたページとして描画し、元のドキュメントの見出し、段落、リスト、テーブル、基本的なスタイルを保持します。

ドキュメントのページは、Studio の外観設定にかかわらず常に白い背景で描画されます。ビューアーはドキュメント自身のページスタイルを再現するもので、ダークモード向けにスタイルを付け替えることはしません。

## 画像ビューアー

画像は縦横比を保ったまま、ビューアーの領域に合わせて拡大縮小して表示されます。対応形式は PNG、JPG、JPEG、GIF（アニメーションを含む）、SVG、WebP、BMP、ICO です。画像ビューアーにはズームやパンのコントロールはありません。細部を見たい画像は**最大化**でより広い領域に表示してください。

## コードビューアー

コードビューアーは、ソースコードファイルをシンタックスハイライトと行番号付きの読み取り専用で表示します。読み取り専用は意図的な設計です。ファイルの変更は、ビューアー上での編集ではなくチャットでAIに依頼して行います。

### サポートされている言語

JavaScript と TypeScript（JSX/TSX を含む）、Python、Ruby、Go、Rust、Java、C、C++、シェルと Bash のスクリプト、SQL、YAML、JSON、XML、CSS、SCSS、TOML にシンタックスハイライトが適用されます。言語はファイルの拡張子から判定され、対応する言語がない拡張子でも行番号付きで描画されます（ハイライトが付かないだけです）。

ライトテーマとダークテーマの両方に対応し、Studio の外観設定に追従します。

## Markdownビューアー

Markdownファイル（`.md`、`.markdown`）は、見出し、リスト、コードブロック、リンク、テーブルなどの標準的なMarkdown要素を含む書式付きコンテンツとして描画されます。チャットのAI応答と同じレンダラーを使用します。

## HTMLビューアー

HTMLファイルは**サンドボックス化されたiframe**内で描画されます。スクリプトの実行は許可されているため、AIが生成したダッシュボードやインタラクティブなレポートは意図どおり動作します。一方でサンドボックスは同一オリジンアクセス、フォーム送信、ナビゲーション、ポップアップを許可せず、フレームはリファラーを送信しません。HTMLファイルから Studio のセッション、アカウント、周囲のページに到達することはできません。

**Desktop** では、Studio はHTMLをインラインで埋め込むのではなく、別の内部オリジンから配信します。これはHTMLファイル内のスクリプトがデスクトップシェル自身のコンテンツセキュリティポリシーによってブロックされないようにするための仕組みです。実際の効果として、インタラクティブなHTMLは Desktop でも Web と同じように描画されます。

## ジャーニービューアー

`.journey.yaml` または `.journey.yml` という名前のジャーニー定義は、サンドボックス化されたフレーム内でフロー図として描画され、ライト／ダークの外観設定に追従します。ステージは左から右に並び、分岐はそれを生んだ判断の下に積み上がり、各ステップは [Journey Orchestration](/ja/products/customer-data-platform/journey-orchestration) と同じ形と色で表示されます。

このビューアーを選択するのは**ファイル名の `.journey` の部分**であり、Studio はこれを必要とします。ジャーニー定義はYAMLであり、`.yaml` ファイルの中身だけでは、図を描くべきかソースを見せるべきかをStudioが判断できないからです。したがって `welcome-series.yaml` という名前のジャーニーは[コードビューアー](#%E3%82%B3%E3%83%BC%E3%83%89%E3%83%93%E3%83%A5%E3%83%BC%E3%82%A2%E3%83%BC)で開き、同じファイルを `welcome-series.journey.yaml` にリネームすると図として開きます。AIが必ずこの接尾辞を付けるとは限らないため、図を期待していたのにシンタックスハイライトされたYAMLが出てきたら、リネームをAIに依頼してください。`tdx` CLIも同じ規約に従い、`tdx journey pull` は `*.journey.yml` を書き出します。

ステップを選択すると設定が開きますが、開くのは設定を持つステップだけです。**アクティベーション**ステップ（接続先、コネクタ設定、送信する列数）、**待機**ステップ（待機を早期に終了させるセグメントとタイムアウト）、**エントリー**ノード、ステージの条件バッジ、セグメントを参照している分岐バッジがこれにあたります。判断ポイント、マージ、ジャンプ、終了の各ステップには背後に表示するものがなく、反応しません。

この図は読み取り専用で、描画するのは**ファイル**であって稼働中のジャーニーではありません。定義が「こう動く」と書いている内容を表示するもので、[ジャーニーキャンバスの統計](/ja/products/customer-data-platform/journey-orchestration/journey-canvas-statistics)が起動中のジャーニーについて報告するようなリアルタイムのプロファイル数は表示しません。ステップや条件の意味については [Journey Orchestration](/ja/products/customer-data-platform/journey-orchestration) を、YAMLスキーマとジャーニーの検証・プッシュを行うコマンドについては [`tdx journey`](/treasure-code/commands/journey) を参照してください。

## Mermaidビューアー

Mermaidダイアグラムファイル（`.mmd`、`.mermaid`）は、フローチャート、シーケンス図、クラス図など Mermaid が対応する種類の図として描画されます。ビューアーは現在のテーマに追従し、パネルより幅の広い図は横スクロールできます。

Mermaid は厳格なセキュリティモードで実行されるため、ダイアグラムの定義から Studio にHTMLやスクリプトを注入することはできません。

## プレーンテキストビューアー

`.txt`、`.log`、および認識されない拡張子のファイルは、行番号付きの整形済み等幅テキストとして表示されます。これはフォールバックのビューアーであり、Studio内のあらゆるファイルが開けることを保証しています。

## 最大化

パネルヘッダーの**アーティファクトを最大化**（拡大アイコン）を選択すると、アクティブなファイルが同じビューアーとファイル名のヘッダーを備えたほぼ全画面のオーバーレイで開きます。**最大化したアーティファクトを閉じる**（縮小アイコン）を選択するか **Escape** を押すとパネルに戻ります。

パネルヘッダーのその他の操作（ダウンロードと削除）については、[ファイルビューアパネル](/ja/products/ai-studio/files/file-upload-download#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%93%E3%83%A5%E3%83%BC%E3%82%A2%E3%83%91%E3%83%8D%E3%83%AB)を参照してください。

## ビューアーエラー

いずれのビューアーも、失敗をその場で通知し、再試行やダウンロードができるようファイルを開いたままにします。メッセージは次のとおりです。

| メッセージ  | 意味  |
|  --- | --- |
| **「ファイルの内容を読み込めませんでした」** | サーバーからファイルを取得できませんでした。多くは一時的なもので、ファイルツリーを再読み込みしてから開き直してください |
| **「ファイルの内容がありません」** | ファイルは取得できましたが、内容が空です |
| **「スプレッドシートの解析エラー」** | ワークブックを読み取れませんでした。多くは `.xls` ファイルか、壊れた `.xlsx` です |
| **「プレゼンテーションの解析エラー」** | PPTXを変換できませんでした。ファイル自体が正常かどうかは、ダウンロードして PowerPoint で開いて確認してください |
| **「ジャーニーファイルの解析エラー」** | ジャーニーYAMLがジャーニースキーマに適合していません。AIに `tdx journey validate` を実行させてください |
| **「No journey stages found」** | ジャーニーファイルは解析できたものの、ステージが定義されていません。多くの場合は書きかけのファイルです。この文言は日本語UIでも英語のまま表示されます |
| **「Mermaidダイアグラムの解析エラー」** | ダイアグラムの定義に構文エラーがあります。ダイアグラムのソースの修正をAIに依頼してください |


ファイルの取得中や変換中は、ビューアーが処理内容を示すステータスメッセージを表示します。例えば **「PDFを読み込み中...」** に続いて **「PDFを解析中...」**、あるいは **「プレゼンテーションを解析中...」** などです。大きなファイルは解析状態にとどまる時間が目に見えて長くなりますが、これは想定どおりの動作であり失敗ではありません。

## モバイルビューアー

Mobileでは、ファイルカードをタップするとプレビューが開きます。以下の点にご注意ください。

- **対応形式** — 画像（PNG、JPG、GIF、WebP、BMP。SVGは非対応）、コード、HTML、Markdown、Mermaid図、ジャーニーファイル（`*.journey.yaml`）、PDF（ページインジケーター付き）、DOCX、XLSX/XLS/CSV/TSV（スプレッドシートの表として表示）、PPTX。それ以外のファイルには「このファイルはプレビューできません。」と表示されます
- **大きなファイル**はパフォーマンスのため切り詰められ、「プレビューは一部のみ表示しています（ファイルが大きすぎます）。」という通知が表示されます
- **HTMLファイル**はWebView内で描画されます
- **セグメントファイル**には、Mobileではビジュアルなセグメントビューアーがありません。YAMLがコードとして表示されます


技術的な注意事項
モバイルのプレビューは、ファイル内容を100,000文字または5,000行のどちらか先に達した時点で切り詰めます。Mobileにはファイルのダウンロード機能はありません。

## 確認事項

- [ ] サイドバーのファイルツリーでファイルをクリックし、適切なビューアーで描画されることを確認する
- [ ] PDFを拡大し、スクロールに応じてページカウンターが更新されることを確認する
- [ ] 複数シートのXLSXワークブックで、下部のタブを使ってシートを切り替える
- [ ] ファイルを最大化し、**Escape** でパネルに戻る


## トラブルシューティング

| 問題  | 解決方法  |
|  --- | --- |
| 「ファイルの内容を読み込めませんでした」 | ファイルがまだアップロード中か、サーバーが一時的に利用できない可能性があります。サイドバーの作業フォルダで **Refresh files** を使ってサーバーからツリーを再読み込みし、ファイルを開き直してください |
| PDFのページが空白になる | 大きなPDFはラスタライズに時間がかかります。読み込みインジケーターが終わるまでお待ちください。空白のままの場合、PDFがパスワード保護されている可能性があります。保護を解除して再アップロードしてください |
| スプレッドシートやデッキの解析に失敗する | 拡張子を確認してください。`.xls` と `.ppt` は非対応です。`.xlsx` または `.pptx` に変換するか、ファイルをダウンロードして Excel や PowerPoint で開いてください |
| スプレッドシートの列が見切れる | セルは折り返さず、列幅も変更できません。横にスクロールするか、列の値を短くしてファイルを再生成するようAIに依頼してください |
| `.yaml` のジャーニーファイルがコードとして開く | ジャーニービューアーは `.journey.yaml` または `.journey.yml` という接尾辞で選択されます。拡張子の前に `.journey` が入るようファイル名を変更してください |
| HTMLレポートの表示が崩れる | サンドボックスはナビゲーション、フォーム送信、ポップアップをブロックし、外部リソースの取得にはネットワークアクセスが必要です。レポートが依存するアセットをインライン化するようAIに依頼してください |


## 次のステップ

- [File Upload & Download](/ja/products/ai-studio/files/file-upload-download) — ファイルのアップロード、出力のダウンロード、作業フォルダの整理
- [AI-Generated Files](/ja/products/ai-studio/files/artifacts) — PPTX、DOCX、PDF、XLSX の成果物をAIに依頼する
- [AI Chat Interface](/ja/products/ai-studio/chat/chat) — 会話でのファイルコンテキストの扱い方