iTextSharpを使用してHTMLをPDFに変換していますが、絶対配置された要素では機能しないようです。たとえば、私はこのHTMLファイルを持っています:iTextSharpでHTMLをPDFに変換する際の絶対位置
<html>
<body>
<p style="position: absolute; left: 10px; top: 100px; width: 50px;">Hello World</p>
</body>
</html>
テキストが結果のPDFファイルに正しく配置されていません。 HTMLをPDFに変換する際に要素を配置することが可能かどうかを知っていますか?これを可能にする任意の無料のソリューション(iTextSharpまたはその他)があれば幸いです。
ここで私はiTextSharpで変換を実行するために使用していたコードです:PDF変換機能にiTextSharpのHTMLは非常にいくつかに限定されているようだ、さらなる調査の後
:
class Program
{
static void Main(string[] args)
{
Document document = new Document(PageSize.A4);
using (Stream output = new FileStream("out.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
using (Stream htmlStream = new FileStream("input.htm", FileMode.Open, FileAccess.Read, FileShare.Read))
using (XmlTextReader reader = new XmlTextReader(htmlStream))
{
PdfWriter.GetInstance(document, output);
HtmlParser.Parse(document, reader);
}
Process.Start(@"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe", "out.pdf");
}
}
EDITシンプルなHTML文書。複雑なHTML文書を扱う素晴らしいJavaプロジェクトFlying Saucerがあります。だから私はIKVMとそれを使用しようとし、それは非常にうまくいった。唯一の問題は、何とか汚い解決策を感じることです。 HTMLをPDFに変換するための31MBのアセンブリコードを追加することはかなりのようです。このシナリオを処理するためのより良い "自由な"代替案がありますか?
これは私が現時点で直面している問題の解決策のようです。 JARがIKVMを使用してDLL変換するのがどれほど難しく、何か問題が出てきましたか? – TonE
JARからDLLへの変換は、コマンドラインでikvmc.exeを使用するだけです。私はどんな問題にも直面しておらず、このコンポーネントが1回の失敗なしに本番環境で動作するのは2ヶ月以上です。 –
ありがとう、私はこれを試してみましょう! – TonE