[解決済み] 2つ(またはそれ以上)のPDFを結合する
2023-04-06 10:40:27
質問
背景は? 私は私の販売スタッフのための週報パッケージを提供する必要があります。このパッケージには、いくつかの(5-10)クリスタルレポートが含まれています。
問題です。 私は、ユーザーがすべてのレポートを実行したり、単一のレポートだけを実行したりできるようにしたいと思います。私は、レポートを作成してから、これを行うことができると考えていました。
List<ReportClass> reports = new List<ReportClass>();
reports.Add(new WeeklyReport1());
reports.Add(new WeeklyReport2());
reports.Add(new WeeklyReport3());
<snip>
foreach (ReportClass report in reports)
{
report.ExportToDisk(ExportFormatType.PortableDocFormat, @"c:\reports\" + report.ResourceName + ".pdf");
}
この方法では、レポートが詰まったフォルダを提供することになりますが、すべての週報を1つのPDFにして全員にメールしたいのです。そのため、それらを結合する必要があります。
サードパーティのコントロールをこれ以上インストールせずに、これを行う簡単な方法はありますか。私はすでに DevExpress と CrystalReports を持っており、これ以上あまり多くを追加したくありません。
foreach ループまたは別のループでそれらを結合するのが最良でしょうか。(または、別の方法)
どのように解決するのですか?
私は同じような問題を解決しなければなりませんでしたが、結局私が行ったのは、小さな pdfmerge ユーティリティを作成することでした。 PDFSharp プロジェクトで、基本的にMITライセンスです。
コードは非常にシンプルです。私は cmdline ユーティリティを必要としたので、PDF マージに使用するよりも引数の解析に専念するコードが多くなっています。
using (PdfDocument one = PdfReader.Open("file1.pdf", PdfDocumentOpenMode.Import))
using (PdfDocument two = PdfReader.Open("file2.pdf", PdfDocumentOpenMode.Import))
using (PdfDocument outPdf = new PdfDocument())
{
CopyPages(one, outPdf);
CopyPages(two, outPdf);
outPdf.Save("file1and2.pdf");
}
void CopyPages(PdfDocument from, PdfDocument to)
{
for (int i = 0; i < from.PageCount; i++)
{
to.AddPage(from.Pages[i]);
}
}
関連
-
[解決済み】C#でクエスチョンマークを2つ並べるとどんな意味になるのか?
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み] .NETでの2つのバイト配列の比較
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み】C#で2つ以上のバイト配列を結合する最良の方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】C#で四捨五入する方法
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました