こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ソフトにマニュアルを組み込む

C#の自作ソフトにマニュアルを組み込みたいのですが、なかなかうまくいきません。別途ヘルプファイルを用意する予定はありません。

・テキストはシンプル過ぎます。
・PDFワードエクセルだと該当ソフトがないと見られません。
・htmlだと画像が無理

やり方が悪いせいでしょうか、私の知らない方法も多数あるようですが、最善な方法を教えてください。

投稿日時 - 2012-05-27 01:19:32

QNo.7498296

暇なときに回答ください

質問者が選んだベストアンサー

まずこの質問の内容を簡単にまとめると

1.何らかの形式ドキュメントをリソースに埋め込みそれを表示したい。別途ファイルを使うのは不可。
2.自分は知らないが、上記を実現する簡単な方法があるはずなのでそれを教えてほしい。

違いますでしょうか?

しかし、実際にはこの要求は簡単では無い、少なくとも一般的に利用されている簡単な手段というのは無いのではないかと思います。

あなたの質問の仕方にも少々問題を感じますが、それを抜きにしてもここまでの回答で具体的な回答を提示できている方はおらず、簡単に解決できる問題ではないと判断すべきではないでしょうか。

それを踏まえて、以下に色々妥協案を出してみると、

1.全ページを画像にして、ピクチャボックスで表示する。

2.リソースにファイルを埋め込みそれをテンポラリファイルに出力→そのファイルを画面に表示してからテンポラリファイルを削除。
pdfなら、ファイルがあればフォームに埋め込めるはず。
htmlなら、htmlと関連する画像をまとめてテンポラリフォルダに出力して、htmlをWebBrowserコントロールで表示。

3.VisualStudioのフォームエディタでlabelとpictureboxを大量に貼り付けて、1つのドキュメントのようなフォームを作ってそれを表示する。

4.リッチテキストをつかえば画像は表示できる(らしい)ので、ごり押しでリソースを使ってドキュメントを作り上げるコードを書く。

5.テキストコントロール、ピクチャボックスを大量に生成してドキュメント状のフォームを表示するコードを書く。

こんな感じでしょうか。


ちなみに、

> 市販ソフトやフリーウェアでexeファイルにヘルプを埋め込んであるソフトなど見たことがありませんが、もしあると思われているのなら大きな勘違いだと思います。
> 本当にあるなら例を幾つか上げて下さい。

に対して

> 正直なところ、見たことがありません。

と回答されています。

私も、外部に一般的なフォーマットのファイルを持たず埋め込みのヘルプにのみ対応したソフト、というのはあまり記憶に無いですし、他の方もそうではないでしょうか。

製品ならpdf等一般的なフォーマットのファイルを同梱、もしくはオンラインヘルプ以外ほとんど考えられないし、フリーソフトでもヘルプファイルを強制される場合が多い(たとえばVectorはプログラムを起動せずに確認できるヘルプファイルを用意することが投稿規約)。


おそらく、一般的かつ簡単に今回の要求を実現する手段というものは無いでしょう。

メリットが無ければやるなとは言いませんが、結構な苦労の割にはあまり良い結果は得られない独自開発が必要になってくると思います。

投稿日時 - 2012-05-29 01:03:32

ANo.17

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(18)

ANo.18

zwi

>今はワードやPDFでマニュアルを作成していますが、表示できない・バージョンが異なる・ソフト未インストールなどで困っています。

わざわざ基本的なWindowsに無いフォーマットを選んでいるとしか思えません。
rtfやhtmlなら、どんなWindowsでも表示可能です。
あるいは、自分でフォームを使って表示すれば問題ないでしょう。つまりマニュアルのプログラム化です。

※ C#を使っている時点で.NetFrameworkのインストールを強要してるんですけどね。


>それにファイル一個のみのほうが管理が楽で、量産しやすいです。

マニュアルの組み込みは面倒そうですね。
量産しやすいは意味不明です。

投稿日時 - 2012-05-29 10:07:59

ANo.16

zwi

原理的には出来るので、
(1)exeファイルのサイズを増やしてまで埋め込む必要がある?
(2)そんなインターフェイスを提供してセキュリティ的にどうなの?
(3)埋め込むために、やたら手間がかかる。
(4)技術的な難易度が上がる。
などデメリットが勝んでしょうね。
手間を掛けて埋め込みの必要性を感じないって事でしょう。

tpppppさんが考えるこれを超えるメリットって何ですか?

投稿日時 - 2012-05-29 00:29:50

お礼

pdfを読めないパソコンもたくさんあります。
それにファイル一個のみのほうが管理が楽で、量産しやすいです。

投稿日時 - 2012-05-29 01:06:51

ANo.15

や, 理論上は「プログラムに PDF のデータを埋め込み, 必要に応じてそれを自力で表示する」ことは可能なはずです. でも「やれ」といわれたら全速力で撤退する. だって, ほぼ明らかに「無駄な努力」だもの.

閑話休題.

どんな方法をとるにしても「別途ヘルプファイルを用意する」のに比べてはるかに手間を掛けてるだけだよね. 「なんでそんなことをしたいのか」を明確にした方がいいんじゃないかなぁ....

投稿日時 - 2012-05-29 00:00:04

お礼

今はワードやPDFでマニュアルを作成していますが、表示できない・バージョンが異なる・ソフト未インストールなどで困っています。

ずっと古いマニュアルを使っている人もいますので、いっそうの事、ソフトに埋め込んでやろうと思います。

多少の手間がかかってもトラブルを事前に防ぎたいところです。

投稿日時 - 2012-05-29 00:53:55

ANo.14

>adobe社に挑戦状をたたきつけるのは無理です。

一応いっておきますが#6を誤読されてたので、それを指摘しただけです。
それができるだけの実力があると思ってませんから(できる人ならそもそもこんな質問はしない)

htmlだと画像へのリンクが問題になるのならmhtにすればいいんじゃないの?(やり方はご自分でお調べください)

投稿日時 - 2012-05-28 23:44:19

お礼

ありがとうございます。こういうキーワードを提供していただけると大変助かります。mhtですが、残念ながら表示できませんでした。

海外のサイトを色々見る限り、ウェブブラウザのレンダリング順があるので、直読みはできなく、一回ディスク上で分解してからレンダリングしているようです。なんとかならないか、もうちょっと調べてみます。

投稿日時 - 2012-05-29 00:47:23

ANo.13

zwi

>大手メーカーの物はよく見かけますが、商用可能のフリーコンポーネントがあればいいんですが、そんな都合のいい話はないですよね

市販ソフトやフリーウェアでexeファイルにヘルプを埋め込んであるソフトなど見たことがありませんが、もしあると思われているのなら大きな勘違いだと思います。
本当にあるなら例を幾つか上げて下さい。

投稿日時 - 2012-05-28 22:51:32

お礼

正直なところ、見たことがありません。

埋め込み画像だけなら、テキストだけなら簡単にできるのですが、混合すると不可になるのは、それは何か技術的な問題があるのでしょうか、例えば画像のエンコードデコードで、ディスクスペースが必要とか。お願いします。

投稿日時 - 2012-05-28 23:34:13

ANo.12

zwi

>>No6さんはpdfなら可能って言ってますよね。

No6のTacosanさんの書いたことですね。
>フォーマット自体は ISO 32000-1:2008 などで標準化されています.

wormholeさんも書いている通り、ISO 32000-1:2008を読んで独自PDFビューアが作れるなら組んでもらっても構わないですが、今までのお話からその実力があるとも思えないので忘れたほうが良いと思います。私のならそんな面倒な事をしてまでPDFを埋め込みたいと思いません。

投稿日時 - 2012-05-28 21:42:17

お礼

大手メーカーの物はよく見かけますが、商用可能のフリーコンポーネントがあればいいんですが、そんな都合のいい話はないですよね

投稿日時 - 2012-05-28 22:30:39

ANo.11

>No6さんはpdfなら可能って言ってますよね。

#6 は「PDFなら埋め込み可能」なんて書いてないような。

PDFのフォーマットはISOで標準化されてるので、PDF表示機能を自分で作ってそれを使用しても著作権上問題にはならないよ。
ってことだと思いますけど。

投稿日時 - 2012-05-28 21:17:56

お礼

adobe社に挑戦状をたたきつけるのは無理です。

特別pdfに拘っていませんので、テキストと絵を表示できればなんでも良いです。

投稿日時 - 2012-05-28 22:20:12

ANo.10

zwi

だから埋め込みデータを外部ファイルに書き出せばなんでもお望み通りです。
chmでもrtfでもpdfでも何でも埋め込んでファイルに書き出せます。

>[htmlなら埋め込めます]
これはhtmlしか埋めこないと言うことです。テキストは表示できても画像は外部ファイルにしないと表示できません。そこが不満と言うか問題なのではないですか?
htmlで使う画像を埋め込みデータから外部ファイルに書きだすのが嫌なのですか?


>ソフトにマニュアルをリソースとして埋め込んで表示する。ただそれだけです。
みなさん、その為の手段を提案しているのに全部否定しています。
なんか、同じ話をぐるぐる回している気がする。

投稿日時 - 2012-05-28 19:23:38

お礼

No6さんはpdfなら可能って言ってますよね。

投稿日時 - 2012-05-28 19:37:43

ANo.9

zwi

ついでに今までの発言からやりたい事と思われることをまとめておきます。
(1)ヘルプをリソースとしてプログラムに埋め込みたい。
(2)ヘルプファイルとして配布ファイルに添えるのは不可。
(3)ヘルプは画像付きである。
(4)たぶん、WEBサイトのオンラインヘルプも不可。
(5)htmlはなにか失敗したらしい。
[htmlは画像が外部フォルダになっていて、数十個埋め込んでもアクセスできません。]
具体的なコードが提示されていないので詳細不明。

補足・修正をお願いします。

投稿日時 - 2012-05-28 17:51:55

お礼

ソフトにマニュアルをリソースとして埋め込んで表示する。ただそれだけです。


形式はヘルプでもpdfでも、何でもいいです。

投稿日時 - 2012-05-28 19:03:56

ANo.8

zwi

>外部起動ではなく、埋め込みです。

tmpに書き出せば外部起動できるけどなぁ。

全部内部に閉じたいならフォームにテキストや画像を直接描画がするしか無いですよ。

投稿日時 - 2012-05-28 17:41:50

お礼

htmlなら埋め込めます

投稿日時 - 2012-05-28 18:53:08

ANo.7

zwi

なんか出来ない出来ないが先に来て意味不明だけど。

「System.Diagnostics.Process.Start | tomatomax.net」
http://blog.tomatomax.net/archives/1825

「外部アプリケーションを起動して終了まで待機する、ファイルを関連付けられたソフトで開いて終了まで待機する: .NET Tips: C#, VB.NET」
http://dobon.net/vb/dotnet/process/openfile.html

これでローカルの画像つきのhtmlを開くことも出来る。開く時はhtmlを直接クリックした時と同じファイルパス。
ウィンドウズ標準のワードパッドなら画像つきの文章も作れるし画像つきのマニュアルが作れないと思っている理由がわからない。

投稿日時 - 2012-05-28 10:54:38

お礼

外部起動ではなく、埋め込みです。

投稿日時 - 2012-05-28 17:26:40

ANo.6

「著作権に引っかからない程度、教えてください。」ってどういう意味なんだろう....

「PDF を表示する機能」なら著作権法に違反しない範囲で組込むことは可能です.

フォーマット自体は ISO 32000-1:2008 などで標準化されています.

投稿日時 - 2012-05-27 23:21:16

お礼

教えてください。例えばpdfの場合、webBrowser表示でしたらアドインを要求してきますが、どのコントロール・コンポーネントなら標準表示できるのでしょうか。お願いします。

投稿日時 - 2012-05-27 23:43:14

ANo.5

質問の経緯から言って何も出来ない方のようですので、スーパーのチラシの裏にマジックで説明文を書いた物をデジカメで撮影して撮影画像をJPGにでも変換した物を自作ソフトの説明画像にします。
馬鹿でも出来る方法ですから、これ以上ダダを捏ねないこと。

投稿日時 - 2012-05-27 15:53:28

お礼

馬鹿が質問するサイトなので、馬鹿を批判するサイトではないのです。

ご言動にご注意ください。

投稿日時 - 2012-05-27 22:54:00

ANo.4

その自作ソフトなるモノのターゲットとなる利用者はどんな人なんでしょうか?

それなりのスキルを持つ人間であれば、テキストで簡潔明瞭な方が余計な時間を使わずに済むというメリットもある。

またソフト自体に膨大な機能でも無い限り、テキストで事足りないという事は少ない。

対象者が素人でも、今どきのユーザーはPDFファイルを開くぐらいのスキルはある。


「htmlだと画像が無理」この意味不明だがどういう事だろうか?

何が最善かは対象者は対象物によって様々で、漠然と最善と言われても \(^_^)/ お手上げ。

何で完成させるかは別にして、マニュアルのネタとして本文は作るんだろうからまずはテキストで作成してみて、その反応によってステップアップを図るって事では駄目なのか?

何もつくって無いのに、最善だけ求めても「無い物ねだり」か「手抜き」のどっちか。

投稿日時 - 2012-05-27 12:45:36

お礼

pdf xml xls xlsx doc rtf txt

microsoft推薦するもの、嫌がるもの、などなど色々な形式がありますよね、自分一人ではすべての知識を持っているわけではないので。

投稿日時 - 2012-05-27 22:51:21

ANo.3

ToolTipTextを使って各項目にマウスカーソルを合わせたらヘルプがポップアップするとか、そーゆー話ですか?

投稿日時 - 2012-05-27 09:13:22

お礼

wordで作った画像つきのマニュアルを埋め込むイメージです。

投稿日時 - 2012-05-27 22:44:34

ANo.2

質問者さんが欲している答えがなんなのかがわからないのですが。


>>やり方が悪いせいでしょうか、私の知らない方法も多数あるようですが、最善な方法を教えてください。
なぜ自分でできる方法があるのにわざわざ違う方法でやるのですか?

>>・テキストだとシンプルすぎます。
いや、マニュアルはシンプルが一番でしょう?
何か凝らないといけない必要性があるのですか?普通ないですよね。

>>・htmlだと画像が無理
画像が表示できないから無理ってことですか?それとも画像そのものがないから?
画像そのものがないならキャプチャなりなんなりで解決できますよね。
それにhtmlなんてC#でソフト作れるくらいの理解度があるなら画像を張り付ける方法なんてすぐに見つかりますし、簡単ですよ。

私もプログラムを組みますが、正直質問者さんは言い訳するだけしてやりかただけ教えろっと言っているだけにしか聞こえませんよ。

投稿日時 - 2012-05-27 01:49:52

お礼

htmlは画像が外部フォルダになっていて、数十個埋め込んでもアクセスできません。
具体的に教えてください。

投稿日時 - 2012-05-27 22:43:07

>最善な方法を教えてください。

何をもって「最善」とするのかが質問者さん次第なので回答不能。
(回答者の主観でいい、ならこの限りではありませんが)

>私の知らない方法も多数あるようですが、
じゃあそこから調べればいいと思いますが?

>別途ヘルプファイルを用意する予定はありません。
用意すればいい。
>・テキストはシンプル過ぎます。
表現しきれないならテキストという選択肢を外すだけ。
>・PDFワードエクセルだと該当ソフトがないと見られません。
表示機能をソフトに内包すればいい。無理?なぜ?
>・htmlだと画像が無理
画像ファイルをリンク貼りすれば可能なので「無理」じゃない。

できない理由?も全部言い訳にしか聞こえません。

某芸能人も言ってますが、壁に突き当たった時に、
「できない理由を挙げる」「する為の方法を挙げる」の2通りの人があるそうですが
質問者さんはまちがいなく前者だと思います。

投稿日時 - 2012-05-27 01:37:39

お礼

>表示機能をソフトに内包すればいい。無理?なぜ?

著作権に引っかからない程度、教えてください。

投稿日時 - 2012-05-27 22:41:02

あなたにオススメの質問