こんにちは。

VB.NETでPDF内のテキストを読みたいのですが、どういった方法があるでしょうか?
以前はPDFDesigner Toolsを使用してテキストに変換してから読んでいたのですが、PDFのバージョンが上がってしまい対応できなくなってしまいました。

お願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> アクロバットを使用しないで行いたいのです。



以前使用していたツールの代替えツールを使用するのではなく、抽出機能を VB.NET で実現するってことですよね。
なおかつインストール必要な部品は使用不可ってことですか?
(それとも数多のツールの中で、Acrobat や Adobe Reader だけは使用不可ってことか?)

どんな条件だったら許可できるのかを書いてもらえると助言が出やすいですよ。

.NET 言語から使用可能な部品ならわりとあるんですけどね。
http://www.infotek.co.jp/product/pdflib_index.html
http://gihyo.jp/dev/serial/01/make-findspot/0016
http://www.xlsoft.com/jp/products/pegasus/pdfxpr …

純粋に .NET Framework だけで実現する方法は知りません。

この回答への補足

ご回答ありがとうございます。

言葉が足りなくて申し訳ありません。

基本的に有償商品であればAcrobatより安価なもの、無償の場合にはBSDライセンス的なものが欲しいです。

.NET Frameworkだけだと、pdfの仕様を解析して行わなければならないようです。

補足日時:2009/05/13 07:51
    • good
    • 0

VBA用ですが、VB.NETに移植できないでしょうか。


http://pdf-file.jugem.jp/?eid=114
ご参考まで。

この回答への補足

早速のご回答ありがとうございます。

言葉(条件)が足りませんでした。

アクロバットを使用しないで行いたいのです。

申し訳ありません。

補足日時:2009/05/12 07:01
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPS2の読み込みが・・・

過去ログは拝見しました「PS2故障」での検索で、、、

家も読み込みができない状態です。(涙)
一昨日の晩ゲームしようと思ったらいきなり読み込みがだめになりました。
PSもPS2もユーティリティーディスクの読み込みもどうにもなりません。
起動するとメモリーカードの情報などの所に行ってしまい
diskの所を押しても少し画面が暗くなってまたそこにいってしまいます。
ブラウザって所ですかね?

何度か起動→reset の繰り返しをしてると50回に一度だけ
PS1か2のロゴの所までいきます。(PS1SOFTだとPSのロゴでPS2のsoftだとPS2とフッとでてくるやつです)

購入して約2年が経ちますが保障期間の書いてある紙を紛失してしまい
保障期間がいつまでか分かりません(涙)大抵1年ですよね^^;
よかったら教えてくださいw(発売当時購入)

どうゆう対処法をとったらいいか教えてください><お願いいたします。

Aベストアンサー

 はじめまして。mitty1982と言います。私も同じような経験があったのでお答えしたいと思います。
 私の場合はセガサターンだったのですが、sophiaさんのようにディスクが読み込めなくなってしまったことがありました(50回も試しませんでしたが)。購入して2、3年くらいだったと思います。
 どうしようか悩んだ末説明書を見るとセガの支社が家の近くにあったのでそこに電話して本体を持っていきました。2週間ほどで修理されて戻ってきたのですが、原因はレンズの故障であったらしく、レンズを交換してありました。
 ちなみにこの時の修理費は5,000円ほどでした。PS2のレンズはサターンのものとは違うので参考程度にしかなりませんがレンズの交換となると最低これくらいはかかると思います。一度お店に持っていくかソニーに問い合わせをしてみてはどうでしょうか。

QVB.NET xdoc2txtをつかってPDFからテキストを取り出すコーディングがわかりません

[xdoc2txt]
PDF,WORD,EXCEL,一太郎などの各種バイナリ文書からテキストを抽出

を利用して、c:\tempにあるpdfファイルからテキスト情報を取り込みたいです。
xdoc2txt.exeやxdoc2txt.dllなどはどこに配置したら良いのかも教えてください。
お願いします。

Aベストアンサー

こんにちは。

>すみませんVB初心者のため、全体的なコーディングの流れを教えて頂けると助かります。

コーディングといっても、VB.Net では、TextBox に出てきたものを流し込むだけですよね。今、VB.Net と言われても、感覚を取り戻すまでには時間も掛かります。ですから、VBSで間に合わせさせていただきます。

》xd2tx216.zip に入っている
》xd2txcom.dll (xdoc2txt com dll版)サンプル VBScipt は参考にはなりませんか?

》 (1)xd2txcom.dllをregsvr32で登録してから実行してください。
》 regsvr32 xd2txcom.dll
》 (2)64bit OSで実行するときは、%WINDIR%SysWOW64\CScript.exe で実行してください。

細かい所は、「誰でも使えるxdoc2txt」を参考にしてください。
http://talk-pc.sakura.ne.jp/anybody_setup_xdoc2txt.html#versionup

ありきたりですが、簡単なコードを、VBSで作ってみました。
要するに、regsvr32 で登録した後は、
Set objXDOC = CreateObject("xd2txcom.Xdoc2txt.1")
とか、com オブジェクトで設定すれば済むわけです。

objXDOC.ExtractText(strArg, False)
実行コマンドはこれです。

後は、通常通りだと思います。

以下は、ドラッグ&ドロップ でアーギュメントを与える方法ですが、必要な部分だけを取り出してまってください。

主要なものはほとんど読めるようになっています。
As/R というファイラーに組み込んでしまいましたが、
http://www.all.undo.jp/asr/1st/
こんな簡単なものでも、思った以上に便利です。

Editorでみますから、textファイルは読みません。
また、画像が入っているものは、しばらく止まっていることがあります。
バグっぽいところは、気がついているのですが、それは、ご容赦のほどを。

'----Xdoc2Txt_Viewer.vbs----

Dim ext
Dim objFs
Dim txtOut
Dim strArg
Dim strExt
Dim exts
Dim ret
Dim buf
strExt = "rtf,docx,xlsx,xlsm,pptx,doc,xls,ppt," & _
"sxw,sxc,sxi,sxd,odt,ods,odp,odg,jaw,jtw,jbw," & _
"juw,jfw,jvw,jtd,jtt,oas,oa2,oa3,bun,wj2" & _
"wj3,wk3,wk4,123,wri,pdf,mht,html,eml"
exts =Split(strExt,",")
Set Args =Wscript.Arguments
txtOut =""
Set objXDOC = CreateObject("xd2txcom.Xdoc2txt.1")
Set objFs= CreateObject("Scripting.FileSystemObject")
For Each strArg in Args
ext= objfs.GetExtensionName(strArg)
ret =Filter(exts,ext,True,1)
If UBound(ret)>-1 And Ubound(ret)< 2 Then
buf =objXDOC.ExtractText(strArg, False)
txtOut = txtOut & buf & vbCrLf
Else
txtOut =txtOut & vbCrLf & strArg
End If
Next
If txtOut <>"" Then
MsgBox txtOut
End If
'----------------

こんにちは。

>すみませんVB初心者のため、全体的なコーディングの流れを教えて頂けると助かります。

コーディングといっても、VB.Net では、TextBox に出てきたものを流し込むだけですよね。今、VB.Net と言われても、感覚を取り戻すまでには時間も掛かります。ですから、VBSで間に合わせさせていただきます。

》xd2tx216.zip に入っている
》xd2txcom.dll (xdoc2txt com dll版)サンプル VBScipt は参考にはなりませんか?

》 (1)xd2txcom.dllをregsvr32で登録してから実行してください。
》 regsvr32 xd2tx...続きを読む

QPS2 読み込み失敗多すぎます

PS2を発売日1ヶ月以内くらいに買いましたが
半年くらいたってから少しずつ読み込み失敗が多くなってきています
失敗したらDVD出してまた入れて読み込みしてもまた失敗の繰り返しばっかりです。

PS2のソフトは全部読み込み失敗が続出しますが
PSのほうは比較的簡単に読み込めます

もちろん、クリーニングCDやりましたが全く効果ないんですよ・・

自分で修理できなくて 修理にだすとしたらどうすればいいんですか?
SCPH-30000とかよくわからないんですが・・・

Aベストアンサー

修理に出す場合はurlを参考にSONYに問い合わせてください。
SCPH-xxxxxというのはPS2の型番なので、PSの側面とか見れば
シールが貼ってあるはずです。

発売日1ヶ月以内でそれから半年くらいとは今から考えて
かなり昔の話ということになりますが、
新しい機種を買った方がいろんな意味
(技術的に成熟して壊れにくくなっている、など)で
お得だと思いますよ。

参考URL:http://www.jp.playstation.com/support/madoguchi.html

QVB6(SP5)とVB.NET のテキストボックス等の配列について

VB6(SP5)で、プログラミングをしております。
現在、VB.NETを勉強中です。
1つ疑問が出てきました。Text1等のインデックス
プロパティが無い様なのですが、配列のテキストボッ
クスやラベルは無いのでしょうか?
宜しくお願い致します。

Aベストアンサー

コントロール配列は、.NET Frameworkではサポートされません。

ただし、ないわけではないです。コントロール配列を使ったVB6製アプリをコンバートすると特殊なコンポーネントで置き換えられますので。
ただし、これからのことを考えるといまさら使わないのが賢明です。

QPS2のソフト読み込みエラー

どなたか教えてください!PS2の18000を先日オークションで落札したのですが、(その際動作確認済とのコメントでした)大容量(たとえばウイイレ8)のソフトが読み込めません。因みにウイイレ7は読み込み可です。またクリーニングCDも読み込めないようです。こんなことってあるのでしょうか?また、これはクレームで対応していただける範囲内でしょうか?すごく困っています。どなたかご教示ください!!!

Aベストアンサー

PS2はDVD側のピックアップが先に劣化しますので、CDのソフトが読めて、DVDのソフトが読めないと
いう話は度々聞く話です。DVDでも読み取りにくいソフトはあるようで、私の経験ではGranTurismo3がNGで、他のDVDゲームソフトはOKだった事もあります。

オークションで入手したとの事ですが、18000番は発売から5年近く(2000年12月発売)経ってますので、使用頻度にもよりますが、ピックアップ劣化による読み取りエラーの可能性は高いと思います。

クレームについては、売主の”動作確認済み”とした内容によりますね。
例えば、ウイイレ8で動作確認したと言うのであれば、クレームのつけ様もありますが、他のDVDゲームソフトが読み込みできるのなら、文句は言えないと思います。

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

QPS2のDVDROMの読み込み不良

最近PS2の読み込み不良で困っています。型番はSCPH10000です。初期のものはDVDの読み込みが出来なくなると聞いたことがあり、レンズクリーナーをかけましたが良くなる見込みがありません。又、分解し、レンズを綿棒での掃除もしました。
レンズからでるレーザーの強弱調整で読み込み不良が治ると以前なにかで読んだことがあるのですが、調整法をご存知の方いらっしゃいますでしょうか?よろしければ教えて頂きたいと思います。お願いします。

Aベストアンサー

こんにちは。

私のもSCPH10000で、同様の症状に悩んでいました。
レンズクリーナーもかけましたが良くならずもう捨てようかと思っていた時に下記のサイトを見つけました。実際にやってみると今までが嘘のように完治しました。

以前、同様の回答をした際に批判等も受けましたので、
改めて書いておきます。(当時も書いてたんですよ)
改造はリスクを伴いますので、もう修理する程じゃないし
失敗したら捨ててもイイ。 という覚悟がおありでしたらどうぞお試しください。

※尚、お教えしましたサイトにも書いてますがレンズ調整はシビアですのでオシロスコープを使わないでやるのでしたら(私も使ってません)1ミリ単位で調整して下さいね。

私を含め数人の友人(みんな素人です)のが治りましたので成功率は高いのかもしれませんが。。。
superDDDさんのも治るとイイですね。 では、これで。

参考URL:http://www1.plala.or.jp/evolution/

Qワードの全文章をリッチテキストボックスにコピーしたい(VB.NETもしくはVB6でもOK)

ワードの全文章内容をリッチテキストボックスに
できれば下線、太字等の属性を含めてコピーしたいと考えています。
しかし、ワードの文章をクリップボードに
コピーすることができません。
というのは、ワードの文章を全選択することができないからです。

dcApp=New Microsoft.Office.Interop.Word.Application()
dcDoc = dcApp.Documents.Open("c:test.doc")

??? dcDoc.Select()
dcDoc.Copy() ←(1)
RichTextBox1.Paste()

上の例(VB.NETです)では、
(1)の部分において、
「文章が選択されていないのでコピーできない」というエラーがでます。
上のdcDoc.Select()では動作しなかったのですが、
この部分に変わる内容をご教示ください。

以上、よろしくお願いします。

Aベストアンサー

>この部分に変わる内容をご教示ください。

まず、Wordを起動して「マクロの記録」を実行し
文章全体を選択して(Ctrl+Aとか、shift+endキーを押す)Ctrl+Cでコピーして、「記録終了」を押し、VBEditorで標準モジュールを開きマクロを見てみてください。

おそらく、Selectionオブジェクトに対して
Selection.Endkey ~(パラメータは忘れました)
Selection.Copy

などのコードが入っているはずです。
SelectionオブジェクトはApplicationオブジェクトのSelectionプロパティから取るので、dcDoc.Activateとした後

dcApp.Selection.Endkey ~
dcApp.Selection.Copy

とすればOKです。
VBAに詰まった時は「マクロの記録」を有効に使いましょう(^^;

QPS2の読み込み不良について

FFXをプレイしていると戦闘中などに読み込まなくなってしまいます。
1度は修理にだしたのですが、FFXを1時間ぐらいプレイすると読み込みしづらくなります。最終的にはどのソフトも読み込まなくなってしまいます。
まだPS2を買って2ヶ月ぐらいなんですが、これは初期不良なんでしょうか?
こういう経験がある方参考までに教えてください。

Aベストアンサー

私もありました。(笑

最初はGT3でわかったのですが、
修理に出したところ、
「DVD読み込みデバイスの劣化」
と結果が出ましたが、
一部情報によると、初期不良らしいです。
FFXでもありました。(笑
ボス戦でとまったりしましたし。

でも、修理代10000円ほどは取られました。
またまた、一部情報によると、怒鳴れば、
ただになるそうです(爆

携帯でも、PCでも、PS2?でも、
初期不良な製品を出してるク○会社の○ニー
(略してク○ニー)
の製品は買わないほうがいいです。

電気店でク○ニーのデジカメ勧めてるの見ると、
むかつきますね。

参考URLで、Googleでの検索結果をはっときます。

参考URL:http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=utf8&oe=utf8&q=PS2%E3%80%80%E5%88%9D%E6%9C%9F%E4%B8%8D%E8%89%

QVB.net(ASP.net)でアクセスカウンターを作りたい(.net初心者)

VB.NETのWebアプリケーションでアクセスカウンターを作りたいのですが、ページがアクセスされた時にDBの値を+1するまではできたのですが、ブラウザの更新ボタンを押したときにアクセスカウントを+1させたくないのですが、その技術がわかりません。(更新ボタンで+1させないようにCache("StartFlag") = "ON"して、対応している、がこれに問題がある)

今作っている処理は以下の通りです。
Private Sub Page_Load
 If Not IsPostBack Then
  カウンタを+1する処理
  (ただしCache("StartFlag") がONなら+1しない)
Cache("StartFlag") = "ON"
End If
End Sub
 
ですが Cache("StartFlag") が"ON"を保持したままになってしまうので、どこのPCからアクセスしてもカウンタが+1されません。
なにか良いアイデアはないでしょうか?
例えば
1)クライアントの情報を保持しておき、
  クライアントが変化したら+1する
(クライアントの情報の取得の仕方がわかりません)
2)Cache("StartFlag") をクライアント毎のセッション変数に変えて、セッションが切れて再びアクセスされたら+1する(やり方がわかりません)

その他、参考になりそうなURLも教えていただきたいのですが、お願いいたします。

VB.NETのWebアプリケーションでアクセスカウンターを作りたいのですが、ページがアクセスされた時にDBの値を+1するまではできたのですが、ブラウザの更新ボタンを押したときにアクセスカウントを+1させたくないのですが、その技術がわかりません。(更新ボタンで+1させないようにCache("StartFlag") = "ON"して、対応している、がこれに問題がある)

今作っている処理は以下の通りです。
Private Sub Page_Load
 If Not IsPostBack Then
  カウンタを+1する処理
  (ただしCache("StartFlag")...続きを読む

Aベストアンサー

2が妥当でしょう。

Cache("StartFlag") → Session("StartFlag")


人気Q&Aランキング

おすすめ情報