C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: VB.NETでPDF帳票を作成、ファイル保存する方法


(過去ログ 112 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■66483 / inTopicNo.1)  VB.NETでPDF帳票を作成、ファイル保存する方法
  
□投稿者/ くらら (1回)-(2013/04/27(Sat) 09:23:17)

分類:[.NET 全般] 

2013/04/27(Sat) 11:11:37 編集(投稿者)
2013/04/27(Sat) 09:39:10 編集(投稿者)

いつも参考にさせていただいております

VB.NETでPDF帳票を作成、ファイル保存する方法を調べています
PDF作成の仮想プリンタで印刷するという操作よりも
VB.NETで直接レイアウトやページ等を制御したいと考えています

環境:WINXP、VB2005
言語:VB.NET
帳票:表と文字と写真で構成されたもの
 (できればインデックスにて目次をつけたい)
文字:フォントはPDFに埋め込みたくない
ユーザーの利用方法:ローカルのパソコンで利用する
予算:10万円程度なら開発ソフトの導入も視野に入れたい
試行錯誤:itextは日本語トラブルで利用できませんでした
私のスキル:非プロのプログラマー
      ネット(日本語)の知識のみ
      帳票の印刷プログラムまでは完成済み

皆様にお聞きしたいのは
1.有料ソフトでもよいのでPDF帳票作成の開発に役立つソフトがあれば
2.アクティブレポートやクリスタルレポートなど有名な帳票ソフトでできるのか
3..NETでのPDF帳票に対するアドバイス

よろしくお願いいたします
引用返信 編集キー/
■66484 / inTopicNo.2)  Re[1]: VB.NETでPDF帳票を作成、ファイル保存する方法
□投稿者/ 魔界の仮面弁士 (200回)-(2013/04/27(Sat) 12:32:31)
No66483 (くらら さん) に返信
> 試行錯誤:itextは日本語トラブルで利用できませんでした
iText には複数の実装がありますが(iText.NET や iTextSharp など)、どれをお使いでしょうか。


> 1.有料ソフトでもよいのでPDF帳票作成の開発に役立つソフトがあれば
> 2.アクティブレポートやクリスタルレポートなど有名な帳票ソフトでできるのか
> 3..NETでのPDF帳票に対するアドバイス

Visual Studio 標準だと ReportViewer から PDF を作成できますが、
フォント埋め込みなどの細かい制御はできないと思います。
http://msdn.microsoft.com/ja-jp/library/ms251671.aspx
http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?mode=allread&no=9546
http://bbs.wankuma.com/index.cgi?mode=al2&namber=48260&KLOG=81


Crystal Reports は、ActiveX 版しか使ったことが無いので分かりませんが、
ActiveReports については、PDF の作成機能があります。
体験版もありますので、実際に試してみるのも良いでしょう。

ただし、現行バージョン(ActiveReports for .NET 7.0J)は、
残念ながら VB2005 がサポート対象外となっています。
そのため、旧バージョン(2.0J/3.0J/6.0J)を導入する必要があります。
詳細についてはメーカー(grapecity.com)にお問い合わせください。
(旧バージョンの体験版ライセンスを入手可能かどうかは把握していません)
引用返信 編集キー/
■66486 / inTopicNo.3)  Re[2]: VB.NETでPDF帳票を作成、ファイル保存する方法
□投稿者/ くらら (2回)-(2013/04/29(Mon) 09:49:19)
2013/04/29(Mon) 15:19:44 編集(投稿者)

ご返信ありがとうございます

> iText には複数の実装がありますが(iText.NET や iTextSharp など)、どれをお使いでしょうか。

どちらかの認識もなくjavaのページを参考にやってましたのですが、
たぶんiText.NETです
日本語の不具合の件もJAVAのページに記載されており、
それを見て解決不可能と判断してしまいました

iTextSharpをcodezineのコードを見て試してみようと思います


> Visual Studio 標準だと ReportViewer から PDF を作成できますが、

本屋等で探してみましたが、
なぜかReportViewerに関する記載はどの文書にも一切出てなく
ネット上でもMSDN以外のリファレンスはほぼ皆無のようで・・・

この理由を想像するに、帳票作成はクリスタル〜やアクティブ〜を使うのが
業界の常識なのでしょうか


納期が間近に迫っているとした場合

・独学iTextSharp
・独学ReportViewer
・独学アクティブ等の購入

どれを選択するのがベターなのか

ご意見等いただけますと幸いです


と書いたのは数時間前、
itextSharpすごいですね、ネット上にたくさん情報あり
とりあえず所定の帳票のPDF化は実現しそうです

引用返信 編集キー/
■66531 / inTopicNo.4)  Re[3]: VB.NETでPDF帳票を作成、ファイル保存する方法
□投稿者/ くらら (3回)-(2013/05/02(Thu) 05:17:58)
2013/05/02(Thu) 13:34:28 編集(投稿者)
2013/05/02(Thu) 05:19:16 編集(投稿者)

今画像処理のところで苦戦しています

見た目の画質を保持したまま、ファイルサイズを小さくしたいのですが
vb.netで画像を読み込み
画像サイズを小さくしてitextsharpでPDFに貼り付けして保存していますが
PDFファイルサイズがjpgファイルの10倍くらいになります

・諸事情によりjpgデータを一旦vb.netのimegeで読み込む必要があります
・読み込み直後のimageはvb.netのimg.RawFormat.Equalsで調べるとJPGと判定されます
・itextsharpに流したあとのimageはIsJpegではfalseが返ります

com.lowagie.text では
img = Image.getInstance(writer, awtImage, 0.3f)
というコードでjpgサイズを指定した読み込みができるようなのですが・・・

今はいまいち何のデータを扱っているのかわからない状態です


ファイルサイズを小さくするためのご助言いただけませんでしょうか


以下最少コードを示します

'■準備
Dim doc As Document = New Document
Dim 保存PDFファイル名 As String = "テスト.pdf"
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(保存PDFファイル名, FileMode.Create))
doc.Open()

’■画像の読み込み
Dim fs As New System.IO.FileStream( _
"画像.jpg", _
System.IO.FileMode.Open, _
System.IO.FileAccess.Read)
Dim img As System.Drawing.Image = System.Drawing.Image.FromStream(fs)
fs.Close()
’■itextsharpへの引き渡し

Dim 画像 As iTextSharp.text.Image
画像 = iTextSharp.text.Image.GetInstance(img, iTextSharp.text.Color.WHITE)
’■ドキュメントへの挿入
doc.Add(画像)

’■終了
doc.Close()
MessageBox.Show("完了", "iTextSharp")


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -