Как отобразить фрагменты кода в формате MS Word с сохранением и подсветкой синтаксиса?

кто-нибудь знает способ для отображения кода в документах Microsoft Word, который сохраняет окраску и форматирование? Предпочтительно, чтобы метод также был ненавязчивым и простым в обновлении.

Я попытался включить код в качестве обычного текста, который выглядит ужасно и мешает при редактировании обычного текста. Я также попытался вставить объекты, документ WordPad и текстовое поле в документ, а затем поместить код внутри этих объектов. Код выглядит намного лучше и его легче избежать при редактировании остальной части текста. Однако эти объекты могут охватывать только одну страницу, что делает редактирование кошмаром, когда необходимо добавить несколько страниц кода.

наконец, я знаю, что есть гораздо лучшие редакторы/форматы, которые не имеют проблем с этим, но я застрял в работе с MS word.

30 ответов


вот лучший способ, для меня, добавить код внутри word:

  1. перейдите на вкладку" вставить", нажмите кнопку" объект " (она находится справа)
  2. выберите "текст OpenDocument", который откроет новый встроенный документ word
  3. скопируйте и вставьте код из Visual Studio / Eclipse внутри этой встроенной страницы word
  4. сохранить и закрыть

результат выглядит очень красиво. Вот преимущества этого метода:

  • в код сохраняет свой оригинальный макет и цвета
  • код отделен от остальной части документа, как если бы это было изображение или диаграмма
  • орфографические ошибки не будут выделены в коде (это круто !)

и это занимает всего несколько секунд.


скачать и установить Блокнот++ и сделать следующее:

  1. вставьте код в окно;

  2. Выберите язык программирования из меню язык;

  3. выбрать текст для копирования;

  4. щелкните правой кнопкой мыши и выберите команды плагина ->копировать текст с синтаксисом Выделение;

  5. вставить его в MS Word и вы хорошо идти!

обновление 29/06/2013:

Notepad++ имеет плагин под названием "NppExport" (поставляется с предустановленной), который позволяет копировать в RTF, HTML и все. Он позволяет использовать десятки языков, в то время как вышеупомянутые IDE ограничены несколькими (без других плагинов).

Я использую копирование всех форматов в буфер обмена и "вставить как HTML " в MS word.

screenshot from notepad++


enter image description here

Код Addin теперь доступен в Office Addins с Office 365 ! Просто выберите код и нажмите преобразовать его, и он преобразует текст кода в форматированный цветовой код с номерами строк !!!

Немного Радоваться!

формат кода доступен здесь: https://appsource.microsoft.com/en-us/product/office/WA104379501?tab=Overview


прочитав много связанных ответов, я наткнулся на свое собственное решение, которое для меня является наиболее подходящим.

результат выглядит так: the final result

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

воспроизведение:

при переполнении стека

  1. перейти Задать Вопрос (предпочтительно с хром)
  2. вставить код и добавить Language тега (например, Java), чтобы получить синтаксис hightlighting
  3. копировать код из preview

в Word

  1. вставить > таблица > 1x1
  2. вставить код
  3. Дизайн Таблицы > Границы > Нет Границы
  4. выберите код > изменить > найти > заменить
    Поиск Документа ^p (Знак Абзаца) Заменить На ^l (Ручной Разрыв Строки)
    (Это необходимо для удаления пробелов между некоторыми строками)
  5. снова выберите код > обзор > язык > проверка "не проверять орфографию или грамматику"
  6. наконец, добавьте заголовок, используя ссылки > вставить заголовок > новая метка > назовите его "листинг" или sth

пример кода спасибо этот парень


Я набираю свой код в Visual Studio, а затем копирую-вставляю в word. он сохраняет цвета.


для этого есть хороший онлайн-инструмент:http://www.planetb.ca/syntax-highlight-word

просто скопируйте сгенерированный код и вставьте его в программное обеспечение для редактирования word. До сих пор я пробовал это на MS Word и WPS Writer, работает очень хорошо. Не играет хорошо с Firefox, но отлично работает в Chrome (и IE тоже, но кто хочет это использовать).

одним из основных преимуществ является то, что, в отличие от надстройки формата кода для Word, она не возиться с вашим кодом, и уважает синтаксис различных языков. Я пробовал много других вариантов, предложенных в другом ответе, но я нашел этот наиболее эффективным (быстрый и действительно эффективное).

существует также другой инструмент onlinz, указанный в другом ответе (markup.su) но я нахожу выход planetB более элегантным (хотя и менее универсальным).

вход :

enter image description here

выход :

enter image description here


когда я это сделал, я широко использовал стили. Это очень помогает.

то, что я делаю, это создать стиль абзаца (возможно, называемый"Code Example " или что-то в этом роде), который использует моноширинный шрифт, тщательно выбранные вкладки, очень светло-серый фон, тонкую черную границу выше и ниже (что помогает видимости много) и с орфографией выключен. Я также убедиться, что в строке и между абзацами устанавливаются правильно. Затем я создаю дополнительные стили символов сверху (например,, "Comment","String","Keyword","Function Name Decl","Variable Name Decl"), который я накладываю сверху; те устанавливают цвет и является ли текст полужирным/курсивом. Затем довольно просто пройти и пометить вставленный пример как код, и он выйдет очень хорошо, и это хорошо работает для коротких фрагментов. Длинные куски кода, вероятно, не должны быть в чем-то, что собирается ехать на мертвое дерево. :-)

преимущество делать его таким образом что легко приспособиться к какой бы код вы ни делали; вам не нужно полагаться на какую-то IDE, чтобы выяснить, что происходит для вас. (Главная проблема? Печатные страницы обычно не так широки, как окна редактора, поэтому упаковка будет сосать...)


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

использовать CTRL+пробел для сброса стиля.


может быть, это слишком просто, но вы пытались вставить свой код и установить шрифт на нем, чтобы курьер новый?


Если вы похожи на меня и слишком ленивы или спешите и не хотите загружать дополнительное программное обеспечение, вы можете использоватьhttp://markup.su/highlighter/. Это очень прямолинейно и поддерживает несколько тем подсветки и многие языки программирования. http://markup.su/highlighter/в моем случае я использую Код Visual Studio, что не позволяет копировать с форматом из-за CSS, участвующего в стилизации (как сообщалось здесь).

скопируйте текст из Окно предварительного просмотра, а затем в Word перейдите к Insert - > Textbox, вставьте предварительный просмотр с веб-сайта, выделите весь текст, а затем отключить проверку орфографии для текстового поля.

вот как выглядит код, наконец.code as seen in Word


Если вы используете Возвышенное Текст, вы можете скопировать код из Sublime в MS Word, сохранив подсветку синтаксиса.

установить пакет под названием SublimeHighlight.

в Sublime, используя курсор, выберите код, который вы хотите скопировать, щелкните его правой кнопкой мыши, выберите "Копировать как rtf" и вставьте в MS Word.


Это немного косвенно, но работает очень хорошо. Получить LiveWriter и установить этот плагин:

http://lvildosola.blogspot.com/2007/02/code-snippet-plugin-for-windows-live.html

вставьте свой код с помощью плагина в сообщение в блоге. Выберите все и скопируйте его в Word.

Он отлично выглядит и может включать номера строк. Он также охватывает страницы прилично.

HTH

Колби Африке


по моему опыту copy-paste из eclipse и Notepad++ работает непосредственно с word.

по какой-то причине у меня возникла проблема с файлом, который не сохранил окраску. Я сделал новый .java-файл, скопируйте-вставьте код в это, затем скопируйте-вставьте в word, и это сработало...

Как сказали другие ребята, создайте новый стиль абзаца. Что я делаю, так это использую моно-разнесенный шрифт, такой как courier new, небольшой размер, близкий к 8px для шрифтов, один разнесенный без пространства между абзацами, сделайте табуляции небольшой (0,5 см,1 см,.., 5 см), поместите простую границу строки вокруг текста и отключите проверки грамматики. Таким образом, я достиг линейного торможения eclipse, поэтому мне больше ничего не нужно делать.

надеюсь, что помогла ;)


используйте моноширинный шрифт, например Консоль Lucida,, который поставляется с Windows. Если вырезать / вставить из Visual Studio или что-то, что поддерживает подсветку синтаксиса, часто можно сохранить цветовую схему подсветки синтаксиса.


Vim имеет отличную функцию, которая преобразует код в формат HTML, сохраняя подсветку синтаксиса, стиль шрифта, цвет фона и даже номера строк. Запустить :TOhtml и vim создает новый буфер, содержащий разметку html.

затем откройте этот html-файл в веб-браузере и скопируйте/вставьте все, что он отобразил в Word. Vim советы wiki имеет дополнительная информация.


Это самый простой подход, которому я следую. Рассмотрим, что я хочу вставить java-код.

  1. я вставляю код здесь, чтобы пробелы, вкладки и цветочные скобки были аккуратно сформированы http://www.tutorialspoint.com/online_java_formatter.htm

  2. затем я вставляю код, полученный из Шага 1 здесь, чтобы цвета, шрифты были добавлены в код http://markup.su/highlighter/

  3. вставить предварительный код, полученный от шага 2 до MS word. Наконец, это будет выглядеть так

enter image description here


на самом деле нет чистого способа сделать это, и он все еще может выглядеть подозрительно на основе ваших точных настроек стиля.

Что вы можете попытаться сделать, это сначала запустить преобразование кода в HTML (есть много программ, которые это делают), а затем попытаться открыть HTML-файл с помощью word, который, надеюсь, предоставит вам форматированный и красивый код, а затем скопировать и вставить его в документ.


вы также можете использовать SciTE для вставки кода, если вы не хотите устанавливать тяжелые IDEs, а затем загружать плагины для всего кода, который вы делаете. Просто выберите язык из меню язык, введите код, высокий свет код, выберите Редактировать- > Копировать как RTF, вставить в слово с форматированием (по умолчанию вставить).

SciTE поддерживает следующие языки, но, вероятно, поддерживает другие: Abaqus*, Ada, ANS.1 MIB файлы определения*, APDL, ассемблер (NASM, MASM), асимптота*, AutoIt*, Проспект*, пакетные файлы (МС-Дос), Баан* Баш*, BlitzBasic*, щелкнуть по этому значку*, Си/Си++/Си#, Clarion, cmake*, conf (Apache), CSound, CSS; а, д, сравнить файлы*, е-сценарий*, таких*, Эрланг*, флагманский корабль (Клипер / пакете xbase), Flash (ActionScript), Фортран*, Д.* разрыв*, то gettext, Хаскелл, в формате HTML* в HTML с внедренными JavaScript, на языке VBScript, PHP и ASP*, Gui4Cli* ИДЛ - как MSIDL и XPIDL*, Ини свойства* и подобные, помощи innosetup*, на Java*, наличие*, а*, много*, Хама*, Луа*, Сделать, Матлаб*, то metapost*, MMIXAL, СУБД MSSQL, программы, НСИ*, цель CAML*, опал, Октав* Паскаль/Делфи*, Perl, и большинство из них, за исключением некоторых сомнительных случаях*, МН/м* прогресс*, приписка*, ПОВ-Рей*, powerbasic выступает*, он*, перебазируют* питон*, р*, у Rebol*, Рубин* схемы*, scriptol*, Specman E и*, специй, общее, SQL и PLSQL, TADS3*, Tex и LaTeX, на TCL/ТЗ*, с VB и VBScript*, на языке Verilog*, комплекс*, в XML*, и YAML*.


Я использую Word 2010, и мне нравится копировать и вставлять из GitHub gist. Только не забудьте сохранить исходное форматирование!

затем я меняю шрифт на DejaVu Sans Mono.

вы можете выбрать копирование С или без нумерации.


копирование в Eclipse и вставка его в Word также является еще одним вариантом.


Лучшая презентация для кода в документах-шрифт фиксированной ширины (как он должен отображаться в IDE), с слабым, затененным фоном или светлой границей, чтобы отличить блок от другого текста.


если его исходный код Java скопируйте его в Visual Studio, а затем скопируйте его обратно в Word.


Ok, это странно, но для решения проблемы цвета фона я вставляю текст как обычно, выделяю весь блок, нажимаю на инструмент выделения, чтобы выделить (даже если выделение установлено на "нет цвета"), а затем я могу стиль текстового блока без цвета фона текста, оставшегося белым. Я использую VS 11 и Word 2010, но проблема существует уже давно (см. http://www.visualstudiodev.com/visual-studio-setup-installation/copypaste-code-from-vs-1305.shtml)


Если вы используете Android Studio, вы можете просто скопировать и вставить, и код будет сохранен и цветах, а также. Достаточно просто!


Я также искал его и в конечном итоге создал что-то для моего отображения кода. Вот хороший способ:

  • создайте прямоугольную форму и поместите текст внутри.
  • измените шрифт на Consolas и размер ~10.
  • измените шрифт текста на серый почти черный (серый 25%, более темный 75%)
  • используйте более темные цвета, чтобы выделить текст, если это необходимо, и выберите один контур.

enter image description here


просто вставьте код в MS Words, выберите его- > затем щелкните правой кнопкой мыши - > нумерация. В этом случае MS Word будет интерпретировать ваш код как маркер / нумерованный список.

вот скрины:

Screen1.

Screen2.


Если вы используете TextMate (в OS X), используйте команду "копировать как rtf". Он поместит красиво напечатанный текст в буфер обмена. rtf command

оттуда вы можете вставить в word или что-нибудь еще.


из Powershell ISE скопировать и вставить слово.
То же самое с Visual Studio.


Если у вас уже есть документ, созданный с большим количеством фрагментов кода в нем, и вы мчитесь против времени (как я, к сожалению). Сохраните файл как .doc в противоположность .docx и вуаля! Работать на меня. Фу!

Примечание: очевидно, что ваш документ не может иметь причудливых функций из > word 2007.

примечание 2: размер файла становится больше, если это важно для вас.


самое простое решение, по крайней мере для меня, - вставить код в документ, выделить его, а затем перейти к:

главная -> стили -> > -> код

Это имеет то преимущество, что код теперь доступен для поиска в документе (в отличие от решения gargamel), а также может форматировать код, который является несколькими страницами.