LoginSignup
3
4

More than 1 year has passed since last update.

Unity PDF Rendererのサンプルをしてみた

Last updated at Posted at 2021-05-14

環境構築

PDF RendererのUnityPackage
Unity 5.3.8 以上(この記事で2019バージョン使います)

メイン特徴

PDF RendererをUnityプロジェクトに入れたら「PDFViewer」Prefabオブジェクトを開く。「PDFViewer」オブジェクトを検索したら、「Load Settings」の下に「File Source」選択ぼたんがあります。その選択でPDFファイルを取るため、複数な方法があります。まずは各方法をまとめています。
tes.png

各方法を例のフォルダーで試します。

example.PNG

Web URL方法

まずはWeb URLの方法です。例のフォルダー、「Examples」を開いて、PDFViewer_Webの例を開く。「File Source」の下に、URLを入力します。この記事で400以上ページの本を表示試します。

そのPDFのリンクはこちらへ
Model-driven Software Development

pdf_viewer.png

ページを沢山があればローディングパネルを表示されます。ローディングが終わったら、PDFファイルを普通に表示されます。

load.png

Streaming Assets方法

次の方法はStreaming AssetsでPDFファイルを取ります。「Examples」でPDFViewer_StreamingAssetsの例wp開く。そのまえに「Assets」フォルダで新しいフォルダー、「StreamingAssets」を作成してください。作成したら、自分のPDFファイルを「StreamingAssets」フォルダーに入れます。そのしたら、「Load Settings」のしたに、PDFファイル名を「File Name」入力に入れてください。忘れずに、ファイルのエクステンション、「*.pdf」をつけてください。もし、PDFファイルは「StreamingAssets」のサブフォルダーでいるなら、「Load Settings」の「Folder」に入れてください。

streamingassets.png

Resources方法

Streaming Assets方法のように、Resourcesフォルダーからファイルを開く。違いが、ファイルのエクステンションに「*.pdf」の後「.bytes」をつけてください。「Load Settings」のしたに「File Name」に入れます。

image.png

resource.png

File Path方法

File Path方法で、ファイルの位置をいれば完成です。「Browse」ボタンでも、ファイルの検索ができます。

filepath.png

Persistent Data方法

Persistent Dataの方法はStreaming Assetsの方法とResources方法のように、ファイルを「Persistent Data」フォルダーに入れてください。Unityの「Persistent Data」フォルダーの位置はこの方法で確認できます。

Debug.log(Application.persistentDataPath);

普段はこの場所である
Windows → C:/Users/<ユーザー名>/AppData/LocalLow/<会社名>/<アプリ名>
Android → /storage/emulated/0/Android/data/<アプリ名>/files
iOS → /var/mobile/Containers/Data/Application//Documents

参考
https://docs.unity3d.com/ja/current/ScriptReference/Application-dataPath.html
https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html

Assets方法

Assets方法を使うため、PDFファイルにAssetファイルに変換が必要です。変換方法は、Unityで選択したファイルに右クリックして、「PDF Renderer → Convert to .assets」をします。そのあと、変換されたファイルをPDF Assetに入れます。

convert.png

asset.png

Bytes方法

最後はPDFViewer_Bytesの例を開きます。PDFViewerのオブジェクト検査したら、「PDFBytesSupplierExample.cs」でPDFファイルを取る。このPDFBytesSupplierExampleはbyte arrayとして、PDF内容を保存しています。Supplier Function入力にPDFBytesSupplierExample.csからのリターンされたbyte arrayを入れます。入れたbyte arrayをPDFに変換して、表示します。

image.png

image.png

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4