bhupi chauhan Ответов: 3

Попытка прочитать файл MS word


Привет я пытаюсь прочитать файл ms word из пути к серверу следующим кодом :
string wordHTML = System.IO.File.ReadAllText(path);

но содержание показывает вот так.Пожалуйста, предложите прочитать содержимое файла word как есть.

PK!�t+d�7[Content_Types].xml �(��T�N�0�#���(q�!Դ�#�D�Ǚ�o���mT�Im/�b�-�f2��Z�h ��S�Oz$�M.�,%�ӗ��D>0�3i4�d����W��Ƃ��}J�!�J=��b>14��)��ͨe��̀��zw�@�8�d8x��-d���x�ub��D���J��U��sz�	��������ѥ�؊MQ���f#a�} ���������	?��`0 ����+����,'r�&̅W�0�2.�u!�4�A�l���(��̊	����C/T��ٍ�ԝ&|�H��w��m�ǰ&�XO�w'�C�C���.��1!`��(~��V~5�����?9���S��U1e����~�M�ib����? o3R�7�a�wV�>2u�Z��/��PK!���N_rels/.rels �(����JA���a�}7� "���H�w"����w̤ھ�� �P�^����O֛���;�<�aYՠ؛`G�kxm��PY�[��g Gΰino�/<���<�1��ⳆA$>"f3��\�ȾT��I S����������W����Y ig�@��X6_�]7~ f��ˉ�ao�.b*lI�r�j)�,l0�%��b� 6�i���D�_���,	� ���|u�Z^t٢yǯ;!Y,}{�C��/h>��PK!-w�9�word/_rels/document.xml.rels �(����N�0��&��] ���,�Ř��D� P�-igU��q7l��K��7��/3���ߪ >�:it��0b�”R�	{˞��Y�P�R�FC�zpl�^^�^�H�\#;��v k��]р.4h:��U��5�D�!j�(Zr;�`�g�)f7%�g}G��{���<�b�@���d(l ��]��@?�p��"u׍e��'Be4f"o'��9��O�}K�iƾ���}����� F�A��X��0-<��P��U�����i�R�{��>����a�R����̂��d����ώL��t������PK!y�(�+�9word/document.xml�}�n�H����*�lZ�-g:/�f����پ���Ec��!�i�T�b��W��'`��%�Q�I�;AR")�&%Y&�H��6%Q��s?�9��>2ٝp\ö�j��^�	K�u�վ^�y_c��-���%�jS�����?��O�C�����<�[X��^z��pw�Նb�݆=^��Έ{��쎸s�w4{4�qc��7����{[oc�|�:o�324�v�G9��}C��N�� >y>���]G�x�r��؍�6Z�nX�


Что я уже пробовал:

string wordHTML = System.IO.File.ReadAllText(path);

3 Ответов

Рейтинг:
2

Patrice T

Цитата:
Попытка прочитать файл MS word

Файл msword не является обычным текстом, поэтому для чтения/изменения/сохранения такого файла используется библиотека.

"PK", который вы видите в начале файла, - это подпись zip-файла. Файл word-это zip-архив, а подпись " PK " - это начальный тег каждого отдельного файла в архиве, и вы находите имя файла через несколько позиций после него.
Итак, это 4 имени файлов, которые можно увидеть в вашем дампе кода :
Файл [content_types].в XML
Папка _rels/.релс
слово/папка _rels/документ.в формате XML.релс
word/document.xml
string wordHTML = System.IO.File.ReadAllText(path);

Кстати, такой файл должен быть прочитан в двоичном режиме.


Рейтинг:
1

Maciej Los

Документ MS Word - это не просто текстовый документ. До версии 2003 года это был своего рода "цифровой" файл. Документ MS Word 2007 и выше - это просто zipp-файл xml. ;)
Взгляните сюда:
О пакете SDK Open XML SDK 2.5 для Office | Microsoft Docs[^]
Общие сведения о форматах файлов Open XML | Microsoft Docs[^]

Итак, если вы хотите прочитать/изменить документ MS Word, пожалуйста, следуйте этим инструкциям: Обработка текстов (Open XML SDK) | Microsoft Docs[^]


Рейтинг:
0

F-ES Sitecore

Вы должны уметь правильно интерпретировать формат файла. Проще всего использовать библиотеку, которая может читать файлы для вас

GitHub - xceedsoftware/DocX: быстрый и простой в использовании .Сетевая библиотека, которая создает или изменяет файлы Microsoft Word без установки Word.[^]