Расположение содержимого inline docx только для чтения - PullRequest
0 голосов
/ 08 ноября 2019

У меня следующая проблема.

Я открываю офисный файл DOCX в браузере IE через

Content-Disposition: inline; filename="file.docx"

все правильно. Файл правильно отображается в кадре IE, здесь нет проблем.

File shown in IE frame

Проблема в том, что этот файл не похож на режим только для чтения. Пользователь может внести изменения в этот файл и нажать кнопку «Сохранить» (я не уверен, что кнопка «Сохранить» здесь что-то делает). Таким образом, пользователь думает, что когда он внесет некоторые изменения и нажмет кнопку «Сохранить», эти изменения будут сохранены на сервере. (или, по крайней мере, сохранить как файл будет запрошен)

Вопрос 1: Есть ли способ установить файл слов, открытый через расположение содержимого inline как только для чтения? Может быть, какие-то настройки реестра или настройки IE или что-то еще?

Вопрос 2: Где этот файл открывается локально? (Я ожидаю, что когда Word открывает этот файл, он сохраняется где-то на диске. Может быть, я ошибаюсь)

Вопрос 3: Могу ли я скрыть хотя бы панель инструментов при открытии этого файла слова черезсодержимое-расположение inline?

1 Ответ

0 голосов
/ 08 ноября 2019

Вопрос 1: Есть ли способ установить файл слов, открытый через встроенное расположение содержимого, только для чтения? Может быть, какие-то настройки реестра или настройки IE или что-то в этом роде?

Не найден способ установить файл слова как доступный только для чтения с использованием встроенного расположения содержимогоНо если вы хотите, чтобы текстовый документ только для чтения, вы можете обратиться к следующим шагам:

  1. Открыть исходный текстовый документ с помощью Office Word,
  2. Нажмите Просмотреть> Ограничить редактирование g,
  3. Под Ограничения на редактирование , отметьте Разрешить только этот тип редактирования в документе и убедитесь, чтов списке написано Без изменений (только для чтения) .
  4. Нажмите Да, начать принудительную защиту .
  5. В открывшемся окне:введите пароль, который вы сможете запомнить, а затем введите пароль еще раз, чтобы подтвердить его.

    Пароль необязательный. Но если вы не добавите пароль, любой может нажать Остановить защиту и отредактировать документ.

    Для получения более подробной информации, пожалуйста, отметьте Сделать документ доступным только для чтения .

Вопрос 2: Где этот файл открывается локально? (Я ожидаю, что когда word откроет этот файл, он будет сохранен где-то на диске. Может быть, я ошибаюсь)

Я создал образец, используя следующий код:

    protected void Button1_Click(object sender, EventArgs e)
    {
        string localCopy = @"D:\Downloads\Document.docx";
        System.IO.FileInfo file = new System.IO.FileInfo(localCopy);
        if (file.Exists == true)
        {
            Response.Clear();
            Response.AppendHeader("Content-Type", "application/msword");
            Response.AddHeader("content-disposition", "inline; filename=" + file.Name);
            Response.AddHeader("Content-Length", file.Length.ToString());
            Response.ContentType = "application/vnd.ms-word.document.12";
            Response.WriteFile(file.FullName);
            Response.End();
            Response.Flush();
        }
    }

Когда я нажимаю кнопку, появляется следующее окно:

enter image description here

Если мы нажмем кнопку «Открыть», файл не будет сохранен автоматически,и кажется, что мы могли бы отредактировать текстовый документ, но когда мы хотим сохранить его, он создаст новый текстовый документ локально, он не изменит исходный текстовый документ. Так что не беспокойтесь об этом.

Если вы хотите сохранить файл локально, выберите опцию Сохранить или Сохранить как.

После этого мы можем использовать Office Word для просмотра словаdocument.

Вопрос 3: Могу ли я скрыть хотя бы панель инструментов при открытии этого файла слов с помощью встроенного расположения содержимого?

Сформируйте свой скриншот, кажется, что вы тожеиспользуя Office word, чтобы просмотреть документ word, чтобы мы не могли скрыть панель инструментов. Но если мы сделаем текстовый документ доступным только для чтения, панель инструментов будет такой (большая часть функции недоступна):

enter image description here

Если вы просто хотите отобразитьтекстовый документ на веб-странице, я предлагаю вам обратиться к этой статье , он будет использовать библиотеку Microsoft Office Interop Library, читать содержимое документа и отображать их на веб-странице.

...