Подскажите как прочитать нужные строки из документа .docx



  • Подскажите каким образом реализовать такое действие? Есть документ в формате .docx и мне нужно читать из него заголовок внутри и еще определенный текст.



  • @microklop Прочитать файл... Басу безразлично расширение. Он его все равно читать будет, даже если это zip какой. Ну попытается. Не осилит выдаст ошибку.
    Теперь по строкам документа. Прочитайте посмотрите страницу в переменной, как выглядит, что почем.
    Вообще в вашем случае наверное подойдут регулярные выражения. Регулярку на заголовок и на текст.Или методом исключения. Например если есть в конце какие \n то чего то там или количество пробелов будет больше определенного кол-ва



  • @tts9 said in Подскажите как прочитать нужные строки из документа .docx:

    @microklop Прочитать файл... Басу безразлично расширение. Он его все равно читать будет, даже если это zip какой. Ну попытается. Не осилит выдаст ошибку.
    Теперь по строкам документа. Прочитайте посмотрите страницу в переменной, как выглядит, что почем.
    Вообще в вашем случае наверное подойдут регулярные выражения. Регулярку на заголовок и на текст.Или методом исключения. Например если есть в конце какие \n то чего то там или количество пробелов будет больше определенного кол-ва

    Сам то пробовал открыть вордовский файл блокнотом?



  • @usertrue Блин.. точно ;-о. Мде вот что значит не пользоваться office -ом.
    Ну тогда node js mammoth как вариант



  • Спасибо



  • @tts9 только не совсем понял как это далее использовать

    var mammoth = require("mammoth");
     
    mammoth.convertToHtml({path: "C:\1.docx"})
        .then(function(result){
            var html = result.value; // The generated HTML
            var messages = result.messages; // Any messages, such as warnings during conversion
        })
        .done();
    

    Если подставляю вместо "var html" переменную с бас или новую создаю она не отображается ни где



  • @microklop Попробуйте так

    const mammoth = require("mammoth");
    
    [[HTML]] = '';
    try {
      let result = await mammoth.convertToHtml({path: "C:/1.docx"})
      if(result.messages.length > 0){
        console.log('Error: ' + result.messages)  
      } else {
        [[HTML]] = result.value;
      }
    } catch(e) {
      console.log('Error: ' + e) 
    }
    


  • @usertrue Вот такая ошибка

    Поток №1 : Error: [object Object],[object Object],[object Object],[object Object],[object Object]
    


  • @microklop said in Подскажите как прочитать нужные строки из документа .docx:

    @usertrue Вот такая ошибка

    Поток №1 : Error: [object Object],[object Object],[object Object],[object Object],[object Object]
    

    Я не вникал в каком виде приходят ошибки, у меня их небыло )) Попробуйте так может более понятной станет ошибка.

    const mammoth = require("mammoth");
    
    [[HTML]] = '';
    try {
      let result = await mammoth.convertToHtml({path: "C:/1.docx"})
      if(result.messages.length > 0){
        console.log('Error: ' + JSON.stringify(result.messages.join(',')  ) );
      } else {
        [[HTML]] = result.value;
      }
    } catch(e) {
      console.log('Error: ' + e) 
    }
    


  • @usertrue Тоже самое и переменная HTML пустая(



  • @microklop said in Подскажите как прочитать нужные строки из документа .docx:

    @usertrue Тоже самое и переменная HTML пустая(

    У меня все работает, вот пример. У вас точно docx?
    0_1565667212689_docx.xml

    Вот документ на котором проверял
    0_1565667298600_dogovor-arendi-kvartiri.docx



  • @usertrue Действительно с вашим работает. Спасибо. Буду смотреть что может быть не так. Формат тот же docx


Log in to reply
 

  • 2
  • 2
  • 5
  • 9
  • 8
  • 3
  • 2
  • 5