Создавать и редактировать документы word можно как с помощью OLE объекта так и напрямую с помощью openxml. Второй вариант предпочтительнее как по скорости работы, так и по надежности.
Для создания и редактирование документа word формата docx существует не мало библиотек, вот некоторые из них: GemBox, Aspose, WordGlue и DocX. Только последний является бесплатным, но к сожалению несет в себе некоторые ограничения, в общем эти ограничения возможно присутствуют и в других библиотеках.
К примеру дана задача, сгенерировать документ word с водяным знаком, и при этом, запретить удалять пользователям этот водяной знак, но пользователь должен иметь возможность изменять любой текст в документе. Нетривиальная задача, реализация которой с помощью вышеуказанных библиотек навряд ли возможна.
Для того, чтобы запретить пользователю удалять водяной знак необходимо защитить документ, а для того, чтобы дать возможность редактировать текст в документе, необходимо добавить области которые пользователь может редактировать.
Guides Book
Различные руководства для разработчиков
среда, 25 февраля 2015 г.
вторник, 17 февраля 2015 г.
EveryLang — переводим, проверяем орфографию, переключаем и показываем текущую раскладку клавиатуры
EveryLang — это инструмент, с помощью которого, в любой программе можно легко переводить любой текст, проверять орфографию, а также переключать раскладку клавиатуры на лету и показывать в указателе мыши и текстовом курсоре флаг текущего языка ввода.
Все эти возможности уже реализованы в других программах.
Переводчики: Translateclient, QTranslate, Dicter и т.д.
Проверка орфографии: Spell Checker, решения ОРФО, LanguageTool, возможно что-то есть еще.
Переключение раскладки: Punto Switcher, Arum Switcher, Key Switcher и несколько небольших проектов энтузиастов.
Индикатор текущего языка ввода: Aml Maple.
У каждой из них есть свои особенности, плюсы и минусы, некоторые платные, некоторые глючные или просто неудобные.
В общем, мне надоело держать весь этот зоопарк на своем компьютере, следить за их обновлением, настраивать, уживаться с их не всегда хорошим поведением.
И решил я сделать велосипед для себя, чтобы было все и все это хорошо работало, не раздражало и радовало глаз.
В итоге встречайте мой небольшой проект EveryLang.
Все эти возможности уже реализованы в других программах.
Переводчики: Translateclient, QTranslate, Dicter и т.д.
Проверка орфографии: Spell Checker, решения ОРФО, LanguageTool, возможно что-то есть еще.
Переключение раскладки: Punto Switcher, Arum Switcher, Key Switcher и несколько небольших проектов энтузиастов.
Индикатор текущего языка ввода: Aml Maple.
У каждой из них есть свои особенности, плюсы и минусы, некоторые платные, некоторые глючные или просто неудобные.
В общем, мне надоело держать весь этот зоопарк на своем компьютере, следить за их обновлением, настраивать, уживаться с их не всегда хорошим поведением.
И решил я сделать велосипед для себя, чтобы было все и все это хорошо работало, не раздражало и радовало глаз.
В итоге встречайте мой небольшой проект EveryLang.
четверг, 6 октября 2011 г.
Создание инсталлятора с помощью Inno Setup
При создании программы под windows, всегда в конечном итоге возникает необходимость ее как-то распространять, и лучшего способа, чем создания инсталлера нет. Существует несколько приложений для этого, но на мой взгляд Inno Setup является лучшей. Простота, бесплатность и гибкость для меня явились решающими факторами.
В данной статье будут рассмотрены некоторые моменты, которые позволят установить, обновить, деинсталировать и прописать программу в автозагрузку.
Для создания инсталлятора в Inno Setup используются скрипты, в которых и прописывается весь алгоритм установки и удаления программы. Далее подробно опишем каждый блок кода скрипта, и в итоге получим готовый универсальный скрипт.
В данной статье будут рассмотрены некоторые моменты, которые позволят установить, обновить, деинсталировать и прописать программу в автозагрузку.
Для создания инсталлятора в Inno Setup используются скрипты, в которых и прописывается весь алгоритм установки и удаления программы. Далее подробно опишем каждый блок кода скрипта, и в итоге получим готовый универсальный скрипт.
среда, 10 августа 2011 г.
Решение проблем с Windows Scripting Host
При установке PostgreSQL на Windows 7 возникла ошибка "Unable to write inside TEMP environment variable path", как показал недолгий поиск в Google, ошибка связана с Windows Scripting Host.
Для решения проблемы необходимо скачать vbsfix_vista.zip и запустить его, он добавит все что надо в реестр и проблема решится.
Для решения проблемы необходимо скачать vbsfix_vista.zip и запустить его, он добавит все что надо в реестр и проблема решится.
вторник, 2 августа 2011 г.
Автозагрузка python приложения в Windows
Осуществить данную задачу можно двумя путями, первый состоит в том, чтобы записать значение в реестр (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run), здесь подробно описан данный метод. Однако при этом нам будет необходимо разрешение на запись в реестр, и чтобы его получить придется постараться.
Второй путь проще и не требует особых привилегий программе, для этого необходимо создать ярлык программы в C:\Users\UserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup (путь для Windows 7).
Ниже показан код, позволяющий это сделать, при этом создается ярлык на исполняемый файл и сохраняется в выше указанную папку, и при желании его от туда можно убрать.
В коде использован пакет winshell, позволяющий получать доступ к специальным папкам Windows.
Второй путь проще и не требует особых привилегий программе, для этого необходимо создать ярлык программы в C:\Users\UserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup (путь для Windows 7).
Ниже показан код, позволяющий это сделать, при этом создается ярлык на исполняемый файл и сохраняется в выше указанную папку, и при желании его от туда можно убрать.
import winshell
import os
import sys
def set_startup():
try:
# get path and file name for application
startFile = os.path.abspath(sys.argv[0])
# get startup folder
startup=winshell.startup()
# create shortcut in startup folder
winshell.CreateShortcut (
Path=os.path.join (startup, "application.lnk"),
Target=startFile,
Icon=(startFile, 0),
Description="My application",
StartIn=os.path.abspath(None)
)
except :
pass
def remove_startup():
try:
startup=winshell.startup()
# remove shortcut from startup folder
if os.path.isfile(startup + '\\application.lnk'):
os.remove(startup + '\\application.lnk')
except :
pass
В коде использован пакет winshell, позволяющий получать доступ к специальным папкам Windows.
Подписаться на:
Сообщения (Atom)