Html в MS Word с использованием JS без верхнего и нижнего колонтитула - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь преобразовать HTML страницу в файл документа MS Word с помощью приведенного ниже кода. Моя проблема в том, что мне не нужны в нем верхний и нижний колонтитулы. Я хочу создать текстовый файл без лишних пробелов в верхнем и нижнем колонтитулах. Контент должен быть прикреплен к верхнему краю.

Я получаю результаты, но мне не нужны их верхний и нижний колонтитулы. image

 function Export2Doc(element, filename = ''){
           
           var preHtml = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="utf-8"><title>Export HTML To Doc</title><style>body,html{margin-top: 0px !important;padding-top: 0px !important;padding-left: 0px !important;margin-left: 0px !important;font-size: 12px;margin-left: 0px !important;}.scheduledtxt{font-size: 14.5px;}table{margin: auto 0px !important;}</head><body>';
           
            var postHtml="</body></html>";
            var html = preHtml+document.getElementById(element).innerHTML+postHtml.trim();
            
            var blob = new Blob(['\ufeff', html], {
                type: 'application/msword'
            });
    
            // Specify link url
            var url = 'data:application/msword;charset=utf-8,' + encodeURIComponent(html);
            
            // Specify file name
            filename = "test.doc";
            
            // Create download link element
            var downloadLink = document.createElement("a");
        
            document.body.appendChild(downloadLink);
    
            if(navigator.msSaveOrOpenBlob ){
                navigator.msSaveOrOpenBlob(blob, filename);
            }else{
                // Create a link to the file
                downloadLink.href = url;
                
                // Setting the file name
                downloadLink.download = filename;
                
                //triggering the function
                downloadLink.click();
            }
            
            document.body.removeChild(downloadLink);
        }
<span id="exportContent">
     <h2 style="text-align: center;">Test Document</h2>
</span>
     
     <div style="text-align: center;">
        <button id="hiddenBtn" style="background: royalblue; color: white;padding: 10px; border-radius: 10px;" onclick="Export2Doc('exportContent', 'word-content');">Export as .doc</button>
      </div>      
        

1 Ответ

0 голосов
/ 10 июля 2020

Мне удалось достичь своей цели с помощью следующей ссылки css режим печати: отображать верхний и нижний колонтитулы только на первой странице сгенерированного слова do c

Я просто пришлось добавить ниже css код. для лучшего понимания просто уменьшите весь код и используйте его при преобразовании в текстовый файл.

@page {
        size: 2cm 2.7cmt;
        margin: 0.4cm 0cm 0cm 0cm;
        mso-page-orientation: portrait;
        mso-header: none;
        mso-footer: none;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...