Pull to refresh

Tutorial: how to port a project from Interop Word API to Open XML SDK

Reading time14 min
Views2.4K

With the .NET5 release further development of some projects was questionable due to the complexity of porting. One can abandon small outdated libraries or find a replacement. But it's hard to throw away Microsoft.Office.Interop.Word.dll. Microsoft doesn't plan to add compatibility with .NET Core/5+, so in this article we focus on creating Word files with Open XML SDK.

Read more
Total votes 4: ↑3 and ↓1+2
Comments0

Tutorial: как портировать проект с Interop Word API на Open XML SDK

Reading time15 min
Views7.3K

С выходом .NET5 дальнейшее развитие некоторых проектов оказалось под вопросом из-за сложности портирования. Если от небольших устаревших библиотек можно отказаться или найти им замену, то от зависимости Microsoft.Office.Interop.Word.dll очень сложно отказаться. Microsoft не планирует добавлять совместимость с .NET Core/5+, поэтому в этой статье мы рассмотрим, как создавать документы Word с помощью Open XML SDK.

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments3

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

Reading time3 min
Views46K
В 2013 году я начал писать конвертер mammoth.js для экспорта вордовских документов в HTML. Это небольшая библиотека на 3000 строк кода. И хотя в ней ничего выдающегося, меня не покидает ощущение, что простенький проект важнее и принёс больше пользы, чем десять лет работы в индустрии программного обеспечения.

Первую версию я написал в пятницу днём на работе, когда обратил внимание, как много времени коллеги тратят на копипаст текста из Word в CMS и последующее форматирование. Такие однотипные действия еженедельно забирают часы рабочего времени. Я написал утилиту для автоматизации этого процесса, с учётом нашей стройной рабочей системы конвертации стилей Word в нужные классы CSS вместо мешанины HTML-тегов, которые выдаёт нативный экспорт Word. Программка получилась не идеальной — коллегам всё равно приходилось что-то поправлять, но ускорила рутинные операции примерно на порядок.
Читать дальше →
Total votes 119: ↑115 and ↓4+111
Comments66

Автоматическое заполнение файлами документов Word и подписей к ним с помощью Python и библиотеки docx

Reading time4 min
Views13K

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

Данная статья будет интересна для начинающих изучающих Python, а также полезна для тех кто работает с большими объемами изображений, графиков, осциллограмм и тому подобное. В ней мы рассмотрим простой и удобный способ вставки изображений в Word и их подписью с помощью Python.

Редактирования кода займет 5 минут, выполнение программы займет 5 секунд. Вы сэкономите 300 минут работы.

Я опишу свой максимально дубовый и непрофессиональный но простой код который Вы сможете повторить в своих проектах. (Полный код в низу статьи).

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments11

Повышаем эффективность работы с Word

Reading time15 min
Views53K

В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе.

Не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc и Confluence как более сложные и узкоспециализированные, а статью хотелось сделать доступной и понятной не только молодым людям, но и людям старших возрастов.

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments24

Автоматизация скучной жизни инженера по кибербезопасности: как тратить меньше времени на рутинные задачи

Reading time9 min
Views6.9K

Мой первый профессиональный опыт как специалиста по кибербезопасности состоял в разработке огромного количества документации: отчёты по аудиту, модели угроз, технорабочие проекты на систему защиты, комплекты ОРД и так далее. Тогда на эти задачи у меня уходила уйма времени, но одна из них, как мне казалось, длилась целую вечность. При оформлении работ технического проекта по ГОСТ требовалось делать двойную нумерацию в разделах и сквозную нумерацию страниц всего проекта. После печати документа приходилось шариковой ручкой нумеровать все страницы проекта, а их количество порой превышало несколько сотен.

Именно решение этой проблемы при помощи скрипта в OpenOffice и открыло для меня мир автоматизации работы с текстом. Затем был MS Office, VBA-скрипты и годы практики. Задачи стали решаться быстрее, и я смог больше времени посвящать учебе. Это превратило некогда скучную рутину в творчество. Этим опытом я и хочу поделиться в серии статей об автоматизации различных бумажных задач кибербеза. В этой статье расскажу о базовых идеях автоматизации в Word и Excel на примере классификации и чуть-чуть на примере модели угроз. Советы будут полезны начинающим проектировщикам, аудиторам и аналитикам. Надеюсь, с этими инструментами у вас, как и у меня когда-то, появится время увидеть лес (безопасность) за деревьями (бумагой).

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments3

Снова про ARIS. Коллекция «велосипедов» для разработчика

Level of difficultyEasy
Reading time14 min
Views1.7K

Нестандартные подходы к написанию скриптов, разработка собственных библиотек и другая полезная информация для разработчиков скриптов ARIS.

Если Вы уже знаете что такое ARIS, то добро пожаловать. Если нет, то можете прочитать вот эту статью.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments9

Автоматизация скучной жизни инженера по кибербезопасности

Reading time11 min
Views3.9K

Основная задача консультанта по информационной безопасности – разработка однотипных документов по однотипным процессам. И два самых главных инструмента, которые он использует в работе, – Excel и Word. Сбор и обработка осуществляются при помощи первого, а предоставление отчетных материалов – при помощи второго. У того, и у другого огромный потенциал автоматизации. В предыдущей статье я рассказал о базовых идеях автоматизации в Word и Excel на примере классификации и модели угроз.

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments0

Верните клавишу Scroll Lock

Level of difficultyEasy
Reading time4 min
Views39K

Технический прогресс не всегда прогресс. Еще на первых компьютерах IBM была клавиша Scroll Lock. Главное её предназначение в текстовых редакторах такое: сделать возможным прокручивание документа,  не меняя при этом положения курсора.

Представьте: работаете вы в Word, набираете текст. В какой-то момент решили обратиться к другой части того же документа, чтобы потом вернуться и продолжить печатать. Казалось бы, нет ничего проще — достаточно нажать на стрелку вниз на клавиатуре, подождать, пока текст промотается до нужного места,  и отпустить кнопку. Но при этом каретка, то есть место, где стоял курсор, собьется, его придется искать!

Читать далее
Total votes 67: ↑62 and ↓5+57
Comments314

Как Visual Basic.NET отлично помогает решать инженерные задачи, связанные с Word и Excel

Level of difficultyEasy
Reading time5 min
Views4.9K

Как язык Visual Basic .NET отлично помогает решать рутинные инженерные задачи, связанные с Word и Excel.

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments50

Typst — современная альтернатива LaTeX

Level of difficultyMedium
Reading time7 min
Views12K


Языки разметки хорошо подходят для создания и редактирования структурированных документов. Они лучше автоматизированы и гибки, чем аналоги с WYSIWYG. Здесь контент отделён от представления, задаётся текст и его структура, далее на основе выбранного шаблона форматируется документ. Подобную систему компьютерной вёрстки TEX (TeX) разработал Дональд Кнут в 1978 году, окончательный релиз оформился в 1979-м. Системы на основе TeX до сих пор являются актуальными в этой области и продолжают развиваться. Вот несколько примеров.
Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments20

Видишь надпись? И я вижу. А надо убрать. Случай из работы в режиме «Отобразить все знаки» в MS Word

Reading time3 min
Views5.8K

Меня зовут Марина, я работаю техническим писателем в ГНИВЦ. Еще с детства я любила делать доклады в школе, а где все пишут доклады? Word! Именно с тех времен началась моя история дружбы с данной программой.

Сегодня я хочу поделиться с вами о работе перекрестных ссылок. Вроде бы ничего сложного, если бы не одно НО! Как раз об этом «НО» и будет моя статья.

Читать далее
Total votes 19: ↑14 and ↓5+9
Comments20

Gmail открывает вложенные файлы MS Word в Google Docs

Reading time1 min
Views1.7K
Теперь вместо сохранения на локальном компьютере вложенных в письмо файлов MS Word их можно напрямую импортировать в Google Docs всего одним кликом мыши. Просмотр в виде HTML сохраняется, но им логично пользоваться только для быстрого ознакомления с документом.
Читать дальше →
Total votes 13: ↑8 and ↓5+3
Comments4

О юзабилити Microsoft Word 2007

Reading time1 min
Views1.4K
Сохаберники пишут о юзабилити нового Word. Очень радует то, что он нравитсся ;-)

Самая главная вещь, которую стоит сказать об юзабилити, это то, что на ленте (ribbon) инструментов того же Word'а теперь присутствуют ВСЕ инструменты, которые «умеет» Word. То есть, если инструмент есть — он есть на ленте и вы его найдете. Если его нет — вы его никогда не увидите и можете быть твердо уверены, что его нет.

Это позволяет четко ориентироваться в доступном фукнционале: взял один раз, просмотрел все фичи, пощелкал во все иконки и понял, что редактор умеет, а что — нет. После этого работаешь :-)

По-моему, если я не прав то меня поправят, в предыдущем Microsoft Word 2003 пользователь мог вывести на экран до 41 панели инструментов. Конечно, если ты не знаешь, какие у тебя В ПРИНЦИПЕ есть инструменты, в них невозможно ориентироваться. Здесь же все на виду.

(Тут в виде disclaimer'а нужно заметить, что речь идет о «стандартном» Word'е, куда силами пользователя или с помощью сторонних средств не были добавлены дополнительные тулзы. Но большинсво людей, на мой взгляд, пользуется именно стандартным Word)
Total votes 9: ↑7 and ↓2+5
Comments12

В Microsoft Word 2000 обнаружена «экстремально критическая» дыра

Reading time1 min
Views2.1K
Компания Microsoft оповестила пользователей о новой уязвимости типа «zero-day» в редакторе Microsoft Word 2000.

Уязвимость позволяет злоумышленнику выполнять произвольный программный код на атакованной машине. Жертве достаточно открыть специальным образом отформатированный DOC-файл, который некорректно обрабатывается текстовым редактором, после чего хакер получает полный доступ к системе. В минувшую пятницу об уязвимости сообщила компания Secunia, присвоив ей статус «экстремально критической». На сайте Microsoft ошибка уже описана, хотя компания старается преуменьшить опасность этой дыры.
Total votes 17: ↑12 and ↓5+7
Comments4

Мучаем MS Word из нашего приложения

Reading time4 min
Views27K
Перед каждым прикладным разработчиком рано или поздно встает задача экспорта данных из своего приложения в другое. Вот и передо мной она в очередной раз встала: мне потребовалось генерировать сообщения для рассылки (почтовой, которую почтальон носит). Письма должны сохраняться в формате Word. Казалось бы, задача тривиальная, но некоторые тонкости есть. На просторах инетернетов довольно много примеров работы с вордом из сторонних приложений через COM-вызов, но большая часть из них является либо примерами уровня «Hello world!», либо заточенными под определенную задачу. Реализации своей я не нашел, потому предлагаю ознакомиться с очередным велосипедом.
Читать дальше →
Total votes 21: ↑13 and ↓8+5
Comments43

Империя наносит ответный удар 2

Reading time2 min
Views5K
Сегодня меня очень порадовал хабр. Нет, честно, я давно так не веселился, читая одну из статей, а именно Google Cloud Connect — империя наносит ответный удар. Я только не понял, почему она в блоге Google, а не в Хабраюморе. Для тех, кто все пропустил, краткий сюжет: Microsoft оказался на грани выживания, а все потому, что Google выпустил Toolbar, который позволяет синхронизировать файлы с Google Docs.

Все уже привыкли к тому, что хабр — это вселенский центр холиварщиков и майкрософтоненавистников, но дело даже не в этом. Не, ну казалось бы, хорошая новость для всех (и Microsoft в частности) — теперь все любители Google Docs смогут работать с ним вдвойне удобнее (хотя эта ужасная панель...), используя Microsoft Word, но «империя», «ответный удар», «это война, в которой победит сильнейший». Ух ты… с учетом того, что похожие тулзы уже были и раньше.

Я уже молчу по поводу противостояния OO vs. Word vs. Google Docs. Это вообще классика. Но хотелось бы открыть еще один вселенский заговор: Word — это не только текстовый редактор.
Читать дальше →
Total votes 415: ↑198 and ↓217-19
Comments349

PHP + Word

Reading time4 min
Views87K
image

Что делать, если нужно создавать много Word файлов одинакового вида, но разного содержания? Например заполнять бланки, квитанции.

Есть 3 варианта:
1) использовать одну из библиотек для работы с Word документами
2) сохранить документ в формате docx, открыть архиватором и внутри мы увидим "\word\document.xml" — чистый xml, с которым можно работать через str_replace (спасибо Enuriru за подсказку)
3) использовать сторонний сервис, который сделает за меня большую часть работы

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

Второй варинт хорош и прост, когда мы работаем с word документами в формате .docx, но к сожалению он не поддерживает формат .doc

В процессе проработки третьего варианта, наткнулся на интересное решение LiveDocx

Преимущества:
— файл шаблона можно создать привычным способом через Word
— представление документа в форматах doc, docx, rtf, pdf
— не нужно заморачиваться с представлением Word документа через html или XML
— простота подключения
— надежность — сервис существует давно и под него даже есть готовая библиотека от Zend
Недостатки:
— в бесплатной версии ограничение на 250 генерируемых документов в сутки
— шаблон нельзя менять (например нельзя сгенерировать таблицу с кол-вом строк, равным количеству элементов в базе)

Читать дальше →
Total votes 103: ↑86 and ↓17+69
Comments59

Парень из Чехии повторил дизайн iOS7 в Wordе

Reading time1 min
Views225K
Я понимаю, что у них там в Чехии все легализовано, но не до такой же степени…



На сайте у этого «креатора» можно скачать исходник: www.upir.org (внизу надо ввести емейл).

P.S. Раньше я использовал вопрос «В ворде рисовал?» чтобы как можно сильнее задеть «дизанера»… А теперь я боюсь услышать ответ «Да».
Total votes 243: ↑212 and ↓31+181
Comments104

Microsoft открывает исходный код первых версий MS-DOS и Word

Reading time2 min
Views176K
image

Не прошло и 40 лет, как компания Microsoft решила открыть для публики исходный код MS-DOS v1.1 и v2.0, а также одной из первых версий Word for Windows 1.1a. Сказать спасибо за это надо The Computer History Museum и Microsoft Research.

Ссылки:
MS-DOS v1.1 & v2.0
Word v1.1a

Зеркало [mega]
Зеркало [sendspace]

Согласно пресс-релизу, оба программных продукта стали краеугольным камнем в жизни компании, заложив основу ее коммерческого успеха. Исходный код MS-DOS v1.1 относится к 1982 году, v2.0 — к 1983. Кстати, в версии 1.1 вся операционная система умещалась в 12 килобайтах памяти — что, конечно, несравнимо с сегодняшними «монстрами».

Версия Word для DOS, выпущенная в 1983 году, особого успеха не снискала, проиграв лидеру рынка на тот момент — процессору по имени WordPerfect. Зато выпуск в 1989 году Word для Windows изменил все — за четыре года этот программный продукт сумел захватить более половины доходов всего рынка текстовых процессоров, что стало впечатляющим успехом работы маркетингового отдела и инженеров компании.

Что ж, сегодня вечером нас всех ждал сюрприз — теперь к легенде сможет прикоснуться каждый.
Читать дальше →
Total votes 161: ↑153 and ↓8+145
Comments109