改行操作について

aspose.wordsやaspose.pdfを用いてWordファイルやPDFファイルをHTMLに変換した際、
改行部分に関してtopを指定して改行を作っているように見えます。
改行部分(改行.pngの赤枠部分)を操作したい場合、オプション等でbrタグや空のdivタグを付与することは可能でしょうか。

改行.zip (12.5 KB)

@JunIto

テストのために、入力したWordおよびPDFドキュメントをここにZIPして添付してください。 問題を調査し、詳細情報を提供します。

@tahir.manzoor
WordとPDFを添付いたします。
ご確認お願いいたします。

サンプル.zip (243.3 KB)

@JunIto

Aspose.WordsはMSWordの動作を模倣していることに注意してください。 MS Wordを使用してドキュメントをHTMLに変換すると、同じ出力が得られます。

PDFからHTMLへの変換に関しては、Aspose.PDFチームがまもなく返信します。

@JunIto

21.2vのAPIを使用してシナリオをテストした後、問題追跡システムに調査チケットをPDFJAVA-40282として記録しました。 このシナリオをさらに分析し、チケットが解決され次第お知らせします。 しばらくお待ちください。

ご不便をおかけしてしまい申し訳ございません。

@tahir.manzoor
MS Wordで改行で空白行を作ってAspose変換しても
できないという理解で合っておりますでしょうか?

@JunIto

入力Word文書に空の段落が含まれています。 添付のスクリーンショットを確認してください。
input.png (8.0 KB)

empaty段落を削除し、改行で置き換えることもできます。

参考までに、予想される出力HTMLをここにZIPして添付していただけますか? 次に、コード例とともに詳細情報を提供します。

@tahir.manzoor
実際に想定しているHTMLを記載するのは難しかったため、画像で添付いたします。
ファイル名:Assumption.png
内容:空白行に対してHTML要素(div等)を入れたい

実際に出力されるHTML(output_html.png)ではtopで空白行を作っているため、HTML要素がないので操作するのが困難な状態です。

image.zip (52.1 KB)

@JunIto

ドキュメントから空の段落を削除する場合は、以下に示すように、段落ノードを繰り返し処理して削除できます。

Document doc = new Document(MyDir + "in.docx");
for(Paragraph paragraph :(Iterable<Paragraph>)doc.getChildNodes(NodeType.PARAGRAPH, true))
{
    if(paragraph.toString(SaveFormat.TEXT).trim().length() == 0)
    	paragraph.remove();
}
 
doc.save(MyDir + "21.3.html");

空の段落を

タグに置き換える場合は、完全なシナリオとともにユースケースを共有してください。 その後、問題追跡システムに要件を記録します。

@tahir.manzoor
対応遅くなり申し訳ありません。
想定しているHTMLと画像ファイルを添付いたします。
空のdivタグで指定しているstyleについては仮で指定してあります。
ご確認お願いいたします。

Assumption.zip (26.2 KB)

@JunIto

空の段落をDIVタグに変換する理由について、要件について詳しく教えてください。 その後、詳細をお知らせします。

@tahir.manzoor
改行や空白行部分に対して枠線やバックグラウンドの色変更の操作を行いたいからです。

@JunIto

Aspose.WordsはMSWordの動作を模倣していることに注意してください。 改行と空白行の境界線と背景色を変更できる場合は、Aspose.Wordsを使用して同じタスクを実行できます。 したがって、空の段落とその境界線の背景色を変更できます。

@tahir.manzoor
MSWordで改行や空白部分に対して枠線や背景色の変更をしていないと
要素を追加できないという理解でよろしいでしょうか。

@JunIto

Aspose.WordsとMSWordは、空の段落(改行)をParagraphタグに変換します。 質問をもっと詳細に説明していただけますか? その後、それに応じてご案内します。

さらに、改行のために境界線と背景色を持つことができる予想される出力ドキュメントを共有してください。 それは私たちがあなたの要件を理解するのに役立ちます。

@tahir.manzoor

空の段落(改行)をParagraphタグに変換しますとのことですが、実際に変換したところParagraphタグはなく、styleのtopで空白行を作成しているように見えます。
変換する際の設定でtopまたはParagraphタグになるのでしょうか?

@JunIto

次のコード例を試して、Word文書をHTMLに変換してください。 Word文書の空の段落は、段落タグに変換されます。

Document doc = new Document(MyDir + "in.docx");
doc.save(MyDir + "21.3.html");

それでも問題が発生する場合は、ここで入力Word文書と問題のある出力HTMLを共有してテストしてください。

@tahir.manzoor

現在のコードは以下を使用していますがこちらでもParagraphタグに変換されますでしょうか?
変換される想定であればstyleのtopが指定されているためサンプルのファイルを添付いたします。

■ソース
HtmlFixedSaveOptions htmlFixedSaveOptions = new HtmlFixedSaveOptions();
htmlFixedSaveOptions.setPageHorizontalAlignment(HtmlFixedPageHorizontalAlignment.CENTER);
htmlFixedSaveOptions.setExportEmbeddedSvg(false);

Document objDoc = new Document(“C:\フォントサンプルデータ.docx”);
objDoc.save(“C:\フォントサンプルデータ.html”, htmlFixedSaveOptions);

@JunIto

HTMLとHtmlFixedのファイル形式はかなり異なることに注意してください。 ドキュメントをHtmlFixedにエクスポートしています。

HtmlFixedでは、空のパラグラフ(ラインブラック)は出力ドキュメントにエクスポートされません。 この問題を問題追跡システムにWORDSNET-22117 として記録しました。 この問題が解決されると、このフォーラムスレッドを介して通知されます。

ご不便をおかけして申し訳ございません。

@asad.ali

ご回答ありがとうございます。
HTMLで出力する際に設定をする場合はHtmlSaveOptionクラスを使用すればよいでしょうか?
その場合 、setPageHorizontalAlignmentメソッドとsetExportEmbeddedSvgメソッドがHtmlSaveOptionクラスにありませんがそれに代わるメソッドはございますでしょうか?