iTextSharp を使用して PDF をレンダリングし、CSS を使用してページをレンダリングする方法についてのアイデア。css は、HTML に埋め込むか、個別に渡すことができます。私はあまり気にしません。ただ動作させたいだけです。
特定のコード例をいただければ幸いです。
また、私は本当に iTextSharp を使い続けたいと思っていますが、他の提案がある場合は、無料でオープン ソースであり、商用ソフトウェアでの使用を許可するライセンスを持っている必要があります。
iTextSharp を使用して PDF をレンダリングし、CSS を使用してページをレンダリングする方法についてのアイデア。css は、HTML に埋め込むか、個別に渡すことができます。私はあまり気にしません。ただ動作させたいだけです。
特定のコード例をいただければ幸いです。
また、私は本当に iTextSharp を使い続けたいと思っていますが、他の提案がある場合は、無料でオープン ソースであり、商用ソフトウェアでの使用を許可するライセンスを持っている必要があります。
現時点では不可能ですが、それを行うオープンソース プロジェクトを開始することを妨げるものは何もありません。私もそれが必要なので、実際に始めるかもしれません!
基本的に、html および css マークアップを iTextSharp クラスに変換するパーサーが必要です。そう<table>
なりiTextSharp.SimpleTable
ました。
限定された html および css サブセットで機能するプロトタイプを考え出すのは簡単です。
更新:これが可能になるまで、これが私が一時的に解決した方法です。2 つのステップのみ:
印刷用のスタイルシートを提供することで、すべての HTML レポートを印刷に適したものにします。
複数ページのレポートですべてのページにヘッダーが必要な場合は、THEAD html タグで設定します。
これで、ユーザーは印刷しやすくなり、PDFCreator プリンター ドライバーを選択すると、レポートを PDF 形式で取得することもできます (他の PDF プリンター ドライバーもありますが、これは無料でオープン ソースです)。
また、HTML は PDF ほど柔軟ではないこともわかっていますが、それで十分かもしれません。私は実際のユーザーといくつかのテストを行っていましたが、彼らは実際にそれを気に入っています。なぜなら、彼らは何でも PDF に印刷できるようになっただけでなく (私のアプリを超えても)、PDF リーダーが開くまでダウンロードして待つ必要がないため、ワークフローが高速になったからです。上。彼らは、ウェブブラウザから直接、ウェブサイトで見たものを印刷 (または PDF にエクスポート) するだけです。
List<DateTime[]> getListWeeks(int annee)
{
List<DateTime[]> weeks = new List<DateTime[]>();
DateTime beginDate = new DateTime(annee, 1, 1);
DateTime endDate = new DateTime(annee, 12, 31);
int nb =(int)beginDate.DayOfWeek;
DateTime monday = beginDate.AddDays(-nb+1); ;
DateTime saturday = monday.AddDays(6);
while (monday < endDate)
{
weeks.Add(new DateTime[] { monday, saturday });
monday = monday.AddDays(7);
saturday = monday.AddDays(6);
}
return weeks;
}