johnsonaoki
@johnsonaoki

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

htmlのテキストデータをword出力したい

htmlのテキストデータをjavascriptでword出力したい

議事録が表示されうようなwebアプリを作成しています。
webページに表示されたテキストデータをword出力したいと思っています。
現状、wordの出力は可能になったのですが、なぜか改行されず、改行部は半角スペースのままword出力されてしまいます。
どのようなコードを書けばいいか教えて頂けると幸いです。

表示しているwebページ

<div id="render"></div>
<button onclick="copy()">コピー</button>
<script>
let kekka=["","","","","","","","","",""];
let Speaker=["a","a","a","a","a","b","b","b","b","b"];

let hyouzi = "";
for (let i=0 ; i<Speaker.length ; i++){
    if (Speaker[i]==Speaker[i+1]){
        hyouzi += kekka[i];
    } else {
        document.getElementById('render').innerText += (Speaker[i]+":"+hyouzi+"\n");
        hyouzi = "";
    };
}

let textMsg =document.getElementById("render").innerText
fn_aaa(textMsg)//現在、ここの関数からテキストデータを受け渡してワードに出力していますが、改行されないものが出力されます。

function copy() {
    navigator.clipboard.writeText(
      document.getElementById("render").innerText
    );
    alert("議事録をコピーしました");
  }


</script>
 

実際のページ

a:あいうえお
b:かきくけこ
コピー

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

現在のワード出力

a:あいうえお b:かきくけこ

理想のワード出力

a:あいうえお 
b:かきくけこ
0

3Answer

Windows であれば、基本的には改行コードは \r\n です。まずはこちらを試してみてはいかがでしょうか。

1Like

Comments

  1. @johnsonaoki

    Questioner

    ご返信ありがとうございます!
    ただ、できませんでした、、
    他の解決法を試していきます。

「innerText」ではなく、「textContent」「innerHTML」にすると改行されたまま文字列を取得できないでしょうか?

image.png

【追記】
JavaScriptから改行コードありで「innerText」に代入すると、<br>タグが挿入されるようですね。
<br>タグで改行されているのであれば「innerText」で改行されたままの文字列が取得できそうなので、現状HTMLとしてどうなっているかも確認したほうがよさそうです。

image.png

1Like

Comments

  1. @johnsonaoki

    Questioner

    ご返信ありがとうございます!
    <br>タグがはさまっていたんですね!
    色々と確認し、状況に応じて置換などを行い、実現可能かどうかを模索していこうと思います!

テキストファイルですが、「innerText」で改行されたままダウンロードできるとこまで確認できました。
参考になれば幸いです。

See the Pen Untitled by yotty (@yotty) on CodePen.

1Like

Comments

  1. @johnsonaoki

    Questioner

    ご返信ありがとうございます!とても参考になりました!
    word出力時にどのようなテキストデータとして保存されるかだけが不安ですが、基本的に問題なさそうですね!
    ぜひ参考にさせて頂きます!

Your answer might help someone💌