FOPとJavaを使用してPDFドキュメントを生成しようとしています。
XMLをファイルではなく文字列として受け取ります。
このXML文字列をXML入力ストリームに変換して、xslfoTransformer.transform(source、res);を呼び出すにはどうすればよいですか。ここで、sourceは入力ストリームとしてのXML文字列です。
あなたの提案を提供してください。
おそらく、Reader
ではなくInputStream
に変換する必要があります。これを行うには、 StringReader を使用します。 StreamSourceには、Readerを受け取るコンストラクターがあり、そのStreamSource
をTransformer.transform()に渡すことができます。
文字列はバイトではなく文字を保持し、Reader
はバイトのストリームであり、InputStream
は文字のストリームであるため、おそらくInputStream
ではなくReader
が必要だと思います。
new StreamSource(new StringReader(str))
ByteArrayInputStream を使用します:
String S = ...;
InputStream source = new ByteArrayInputStream(S.getBytes(encoding))