Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
PaulTheTortoise Новенький участник форума
Зарегистрирован: 27.10.2008 Сообщения: 16
|
Добавлено: Ср Ноя 19, 2008 22:47 Заголовок сообщения: |
|
|
DikBSD писал(а): |
PaulTheTortoise писал(а): | Осталось разобраться с экспортом картинок из таблиц. Вроде все как символ вставлены, а почему-то картинки утеряны. |
Сложно сказать, что там. Не можешь дать ссылку на файл - погоняю...
X. |
http://www.webweavers.ru/files/Design%20patterns%20overview.odt |
|
Вернуться к началу |
|
|
DikBSD Зрелый участник форума
Зарегистрирован: 14.11.2007 Сообщения: 108 Откуда: Рязань
|
Добавлено: Чт Ноя 20, 2008 21:03 Заголовок сообщения: |
|
|
PaulTheTortoise писал(а): | Добавлено: Ср Ноя 19, 2008 22:47 Заголовок сообщения:
DikBSD писал(а):
PaulTheTortoise писал(а):
Осталось разобраться с экспортом картинок из таблиц. Вроде все как символ вставлены, а почему-то картинки утеряны.
Сложно сказать, что там. Не можешь дать ссылку на файл - погоняю...
X.
http://www.webweavers.ru/files/Design%20patterns%20overview.odt |
Погонял твой файл:
1. Все картинки (и в ячейках таблицы) прекрасно экспортировались!
Картинки я таблицах не все читалки показывают. Может поэтому ты и не смог их увидеть на своей. Кстати, какая у тебя читалка на Маке (или где ты смотрел результат - КПК?).
Еще вариант, почему картинки могли НЕ ЭКСПОРТИРОВАТЬСЯ (я уже писал об это на форуме и в справке) - когда в документ внесены ЛЮБЫЕ изменения - хоть одна буква или форматирование стилем - из-за внутреннего бага в OpenOffice.org графика не преобразуется. Поэтому, ОБЯЗАТЕЛЬНО после ЛЮБОГО изменения текста с КАРТИНКАМИ - перезагрузить редактор - и все картинки сконвертируются!!!
2. У табя с начала документа идет цитата и автор цитаты (размеченные своими стилями), а между ними - пустая строка БЕЗ стиля. При выключенной опции "удаление пустых абзацев" эта строка пустая останется, а вот Автор Цитаты будет не как Автор, а как просто текст в тэгах <p>... </p>. Если все же нужна пустая строка между ними, то отформатируй ее тоже стилем Cite.
а). Эта пустая "неформатированная" стилем строка между цитатой и Автором Цитаты привела к тому, что fb2-файл получился невалидный. После цитаты - </cite> конвертор "закрыл" секцию - </section>, потом пошел Автор, как просто текст: <p>Christopher Alexander<sup><a l:href="#_1">[1]</a></sup>.</p>, а затем открылась новая секция: <section> и т.д. Конвертор не может (и не должен) экспортировать отдельно стоящего Автора Цитаты, как отдельный тэг <text-author> - по схеме FB2.1 это - необязательный тэг, а обязательным как раз является сама цитата. Если убрать эту пустую строку - все получается прекрасно - файл будет валидным!
Совет - без надобности не оставляй пустые абзацы в цитатах и т.д.
Планирую заняться валидатором и для Linux, Mac OS X - чтобы сразу после конвертации видеть - валидный ли получился файл.
А поэтому подскажи - на Маке какие установлены xml-парсеры? Есть ли там или моожно ли установить lib2xml? |
|
Вернуться к началу |
|
|
PaulTheTortoise Новенький участник форума
Зарегистрирован: 27.10.2008 Сообщения: 16
|
Добавлено: Чт Ноя 20, 2008 21:42 Заголовок сообщения: |
|
|
Читалка у меня на iPod'е touch'е называется BookShelf. Оказалось, что если исправить проблему указанную тобой выше, то все картинки отображаются отлично.
Добавлено спустя 23 минуты 44 секунды:
По этой теме сразу не скажу. Но встроенный PHP есть. Также нашел вот такую программу http://xmlnanny.com/.
Добавлено спустя 21 минуту 14 секунд:
Сейчас попробвал, может делаю чего неправильно, только у меня эта няня не валидирует созданную книгу с использованием XML Schema скачанной с сайта www.gribuser.ru. |
|
Вернуться к началу |
|
|
DikBSD Зрелый участник форума
Зарегистрирован: 14.11.2007 Сообщения: 108 Откуда: Рязань
|
Добавлено: Пт Ноя 21, 2008 18:21 Заголовок сообщения: |
|
|
PaulTheTortoise писал(а): | Сейчас попробвал, может делаю чего неправильно, только у меня эта няня не валидирует созданную книгу с использованием XML Schema скачанной с сайта www.gribuser.ru. |
Внутри OOoFBTools.oxt в папке fb2-shema лежит схема, по которой сделан конвертор - FB2.1 Их можно вытащить из раширения - я специально их туда засунул... под схему FB2.2 я пока не делал конвертор... |
|
Вернуться к началу |
|
|
PaulTheTortoise Новенький участник форума
Зарегистрирован: 27.10.2008 Сообщения: 16
|
Добавлено: Пт Ноя 21, 2008 20:31 Заголовок сообщения: |
|
|
Я просто не знаю какая текущая, а какая на сайте. %) Вобщем XML Nanny все равно недаволен, а xmllint молчит, стало быть доволен. Кстати, xmllint входит в набор инструментов libxml2, что подтверждает косвенным образом его наличие в Mac OS X. |
|
Вернуться к началу |
|
|
DikBSD Зрелый участник форума
Зарегистрирован: 14.11.2007 Сообщения: 108 Откуда: Рязань
|
Добавлено: Чт Дек 25, 2008 13:40 Заголовок сообщения: |
|
|
Немного отсутствовал...
Зато готов Новогодний релиз:
Выложил новый пакет OOoFBTools-1.2.0 : http://dikbsdsda.mylivepage.ru/file/1986/4941_OOoFBTools--1.2.0.zip (напрямую - http://file059.mylivepage.com/chunk59/1426886/1986/OOoFBTools--1.2.0.zip)
1. Улучшения в Корректоре Текста - поиск разорванных абзацем переносов и фефисов. Ряд других улучшений...
2. Удалены 2 ручных инструмента поиска ошибок OCR в тексте из-за создания нового (см. ниже).
3. Новый диалог поиска OCR ошибок - 4 ручных инструмента "под одной крышей": 1). Поиск слов с дефисами, тире или минусом. 2). Поиск слов, в которых абзац разорвал перенос (дефис, тире или минус). 3). Поиск обрыва предложения на словах, знаках препинания, кавычках и скобках. 4). Поиск вероятного недостающего пробела между словами.
Диалог - немодальный - удобно редактировать найденное, не закрывая диалог. Запоминавет свое положение на экране. Подробности и описание см. в справке: II.2. «Ручные» инструменты.
4. Локализация меню пакета и всех панелей инструментов (пока только русский и английский языки).
5. Набор новых инструментов для работы со сносками: 1). Генерация сносок по шаблону (текст в скобках и т.д., по выбору). 2). Генерация сносок по номерам примечаний (согласно шаблона): а). Списки примечаний находятся после главы книги. б). Списки примечаний находятся в конце книги. 3. Преобразование номеров примечаний (цифр) в верхнем индексе в один из шаблонных видов, для дальнейшего использования одного из вышненазванных инструментов. 4. Инструменты вставки закладок поиска примечаний и удаления этих закладок.
Подробнее см. в справке: "II.6. Инструменты работы с примечаниями и сносками"
6. Все виртуальные клавиатуры сделаны немодальными (теперь можно редактировать текст, не закрывая их).
7. Все диалоги пакета теперь запоминают свое положение на экране. Так удобнее.
8. Исправлена серьезная ошибка в Конверторе - если Заголовки (Уровни) имеют 2 или более строки, и в последней есть сноска - то файл получался невалидным. Теперь это исправлено.
9. Исправлена серьезная ошибка - если в тексте есть закладка на несколько абзацев, то при конвертировании имя этой закладки вписывалось в id для каждого из этих абзацев. Файл получался невалидным - одинаковые id в p. Теперь одинаковые id игнорируются.
10. Обновлена справка.
P.S. Вычитывал одну книгу с 87 главами и 1500 примечаний. Инструмент Генерации сносок создал 1500 сносок из примечаний за 3,2 минуты. Посчитайте, сколько часов понадобилось бы для утомительной "беготни" по текста и ручной вставки сносок, а в них - текст этих примечаний... |
|
Вернуться к началу |
|
|
Kravejs Новенький участник форума
Зарегистрирован: 02.03.2008 Сообщения: 75 Откуда: Latvia
|
|
Вернуться к началу |
|
|
DikBSD Зрелый участник форума
Зарегистрирован: 14.11.2007 Сообщения: 108 Откуда: Рязань
|
Добавлено: Сб Дек 27, 2008 18:11 Заголовок сообщения: |
|
|
Хотелось бы обратиться с просьбой к общественности: у меня не очень ладится с дизайнерскими способностями - иконки на кнопки искал, где придется. Может. кто-нибудь смог бы сделать достойные иконки на пнопки для инструментов?
Спасибо... |
|
Вернуться к началу |
|
|
sloth Новенький участник форума
Зарегистрирован: 19.05.2008 Сообщения: 5
|
Добавлено: Пн Дек 29, 2008 1:47 Заголовок сообщения: Работа конветора в OO3 |
|
|
Добрый день (вечер/утро)
Есть два вопроса по работе конвертора под OO3 (3.0.1 Build 9376) Debian Experimental, Java 1.5 или 1.6. OO3 поставлен из дистрибутива.
1. Неверно определяется OS. Конструкция " oPathSettings = CreateUnoService("com.sun.star.util.PathSettings")
sDir = oPathSettings.Work"
возвращает "file:/home/" а проверка идет на "file:///home/"
2. Также есть проблема с отработкой скрипта ".OOoFBTools-mef.sh" - непонятно как он попадет в домашний каталог пользователя ...
Также неверно работает конструкция "Shell( """" & getHomePath() & "/.OOoFBTools-mef.sh""", 1, "", true )" за счет того, что на выходе getHomePath() получаем file:///home/... и получается, что пробует исполниться строка "file:///home/.../.OOoFBTools-mef.sh", как результат системная ошибка.
Эти проблемы вылезли только у меня или нет. Если у кого работает под OO3 нормально давайте сравним конфигурацию, мот я чего напортачил |
|
Вернуться к началу |
|
|
DikBSD Зрелый участник форума
Зарегистрирован: 14.11.2007 Сообщения: 108 Откуда: Рязань
|
Добавлено: Пн Дек 29, 2008 17:58 Заголовок сообщения: |
|
|
У меня на Убунту пока стоит OOo2 версии - проверить не могу. Но все работает. Ин на Windows в OOo3 версии все работает.
Можно сделать вот что. Я писал тестовый файл для Мака http://dikbsdsda.mylivepage.ru/file/1017/4740_MacOSXTest.odt - он работает и под Линуксом тоже. Пакет OOOFbTools должен стоять тоже. Запустите его, а результат выложите хотя бы здесь, на форуме. Мне надо посмотреть на пути...
Результат теста заносится в текстовый файл MacOSXTest.txt, которые будет лежать в папке /tmp (впрочем, об этом известит окно с сообщением после окончания теста).
sloth писал(а): | Также есть проблема с отработкой скрипта ".OOoFBTools-mef.sh" - непонятно как он попадет в домашний каталог пользователя ... |
Если я верно понял суть вопроса, то этот скрипт надо просто поместить в дамашний каталог и сделать его исполняемым. И все... Как - об этом подробно в справке по пакету... |
|
Вернуться к началу |
|
|
sloth Новенький участник форума
Зарегистрирован: 19.05.2008 Сообщения: 5
|
Добавлено: Сб Янв 03, 2009 21:58 Заголовок сообщения: |
|
|
С наступившим НГ всех
проверил запуск тестового скрипта, вот его вывод:
Код: | Данные по системе:
IsWindowsOS: True
OOoWriterVersion: 3.0
RootStorage: file:///home/igor/.openoffice.org/3/user/uno_packages/cache/uno_packages/XDTR59_/OOoFBTools.oxt
MyVersion: 1.2.0
OOoFBToolsTempPath: /tmp\ooofbtools-tmp
UserPath: file:///home/igor/.openoffice.org/3/user/config
HomePath: file:///home/igor
TempPath: file:///tmp
Данные по Экспорту Графики:
Функция SaveGraphicToFile:
1. bIsTextGraphic=True
2. Это - не html file.
3. sFileNameURL= /tmp\ooofbtools-tmp/OOoFBToolsImage.png
Функция SaveGraphicToFile:
1. bIsTextGraphic=False
2. Это - не html file.
3. sFileNameURL= /tmp\ooofbtools-tmp/OOoFBToolsImage.png
|
Пара моментов:
Для отработки пришлось скопировать из пакета FBTools функцию GetOOoFBToolsImageURL, т.к. из установленного пакета она не подхватилась.
При работе функции IsWindowsOS значение sDir="file:/home/igor" и соответственно система определяется как Win Полагаю, что исправить такое поведение скрипта можно используя функцию GetHomePath для определения домашнего каталога при проверке системы.
Касательно скрипта - да вопрос понят верно, прошу прощения, я не прочел справку при установке (в более ранних версиях данный скрипт не требовался).
Есть небольшое пожелание - при вызове скрипта проверять его наличие (желательно ещё и атрибуты) и ругаться при его отсутствии.
Добавлено спустя 1 час 24 минуты 43 секунды:
Попутно ещё вопрос по функционированию под linux:
просмотрел форум, но не нашел зачем использовать .OOoFBTools-mef.sh, если запустить image.sh следующим образом у меня все отработало хорошо.
Код: |
Shell( "/bin/sh", 1, """" & getOOoFBToolsTempPath() & "/image.sh""", true )
|
|
|
Вернуться к началу |
|
|
DikBSD Зрелый участник форума
Зарегистрирован: 14.11.2007 Сообщения: 108 Откуда: Рязань
|
Добавлено: Вт Янв 06, 2009 16:49 Заголовок сообщения: |
|
|
sloth писал(а): | Для отработки пришлось скопировать из пакета FBTools функцию GetOOoFBToolsImageURL, т.к. из установленного пакета она не подхватилась.
При работе функции IsWindowsOS значение sDir="file:/home/igor" и соответственно система определяется как Win |
Мое упущение - забыл обновить в этом тэстовом файле функцию определения OS - в новом пакете OOoFBTools-1.6.0 она новая - GetOS()...
Какая версия у пакета вас установлена, при которой на OOoWriter3 не правильно определяется путь к домашнему каталогу - 1.6.0?
Если более ранняя, то поставьте последнюю и напишите, пошло ли на 3-ке. Если не пойдет - буду переделывать пару функций...
sloth писал(а): | просмотрел форум, но не нашел зачем использовать .OOoFBTools-mef.sh, если запустить image.sh следующим образом у меня все отработало хорошо.
Код:
Shell( "/bin/sh", 1, """" & getOOoFBToolsTempPath() & "/image.sh""", true ) |
А это - идея! Все гениальное - просто, а когда глаз зщамыливается... Спасибо за свежий взгляд! Надо попробовать... |
|
Вернуться к началу |
|
|
sloth Новенький участник форума
Зарегистрирован: 19.05.2008 Сообщения: 5
|
Добавлено: Ср Янв 07, 2009 11:49 Заголовок сообщения: |
|
|
DikBSD писал(а): | Какая версия у пакета вас установлена, при которой на OOoWriter3 не правильно определяется путь к домашнему каталогу - 1.6.0? |
Я похоже чего то пропустил, но у меня 1.20, и на форуме ссылки на 1.60 не нашел
Вот небольшая модификация для GetOS. Данная функция у меня (Debian, OO3) работает.
Код: | ' что за система: 0 - Windows, 1 - Mac OS X, 2 - Linux, FreeBSD и т.д.
Function GetOS() As Integer
Dim sDir As String
sDir = GetHomePath()
If InStr( sDir, "file:///home/" ) > 0 Then
GetOS = 2 ' Linux, FreeBSD и т.д.
ElseIf InStr( sDir, "file:///Users/" ) > 0 Then
GetOS = 1 ' Mac OS X
Else
GetOS = 0 ' Windows
End If
End Function |
Текущая система:
Код: | $uname -a
Linux sloth 2.6.26.desktop #1 SMP PREEMPT Tue Oct 21 22:53:49 EEST 2008 i686 GNU/Linux
$oowriter -h
OpenOffice.org 3.0 300m14(Build:9376)
$ java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (build 1.6.0_0-b11)
OpenJDK Server VM (build 1.6.0_0-b11, mixed mode)
|
|
|
Вернуться к началу |
|
|
DikBSD Зрелый участник форума
Зарегистрирован: 14.11.2007 Сообщения: 108 Откуда: Рязань
|
Добавлено: Чт Янв 08, 2009 13:28 Заголовок сообщения: |
|
|
sloth, прошу прощения - я ввел вас в заблуждение. Пишу сразу несколько проектов (не только для OOo но и под Qt) - вот и версия неверно сказал... Последняя верно названа вами - 1.2.0.
Ваши модернизации я учту в следующем релизе. Спасибо них! Приму любые идеи и пожелания, исправления багов и т.д. А также участие в разработке!!!! |
|
Вернуться к началу |
|
|
sloth Новенький участник форума
Зарегистрирован: 19.05.2008 Сообщения: 5
|
Добавлено: Чт Янв 08, 2009 19:12 Заголовок сообщения: |
|
|
Всё бывает, разобрались и чудненько
Тут ещё вопрос вылез с использованием служебных стилей для заполнения данных для Бумажной Книги (ReadPaperBookInfo).
В текущем варианте при наличии нескольких абзацев со стилем sStyle_PaperBook данные остаются только для последнего абзаца, данные из предыдущих абзацев благополучно затираются. В принципе все можно поправить руками, но это неправильно ИМХО.
Вот несколько модифицированный код функции, с ним у меня заработало нормаьлно.
Код: |
'Глобальная переменная для данных о бумажном варианте книги
Private asPaperBook(4) As String
|
Код: |
' читаем данные для Бумажной Книги
Sub ReadPaperBookInfo( oCursor )
If oCursor.String = "" Then '
Exit Sub
End If
'Определение вынесено глобально
'Dim asPaperBook() As String
Dim oEnum As Object, oSecEnum As Object, oText As Object, oTextPortion As Object
'Убрано, так информация о бумажной книге добаляется однократно
'Dim i As Integer
'i = Ubound(asPaperBook(), 1) + 1
'If i > 0 Then
' ReDim Preserve asPaperBook(i, 4)
'Else Redim asPaperBook(i, 4)
'End If
oEnum = oCursor.createEnumeration
While oEnum.hasMoreElements
oText = oEnum.nextElement
oSecEnum = oText.createEnumeration
While oSecEnum.hasMoreElements
oTextPortion = oSecEnum.nextElement
If oTextPortion.CharStyleName = sStyle_PaperBookName Then
asPaperBook(0) = asPaperBook(0) & oTextPortion.getString()
ElseIf oTextPortion.CharStyleName = sStyle_PaperBookPublisher Then
asPaperBook(1) = asPaperBook(1) & oTextPortion.getString()
ElseIf oTextPortion.CharStyleName = sStyle_PaperBookCity Then
asPaperBook(2) = asPaperBook(2) & oTextPortion.getString()
ElseIf oTextPortion.CharStyleName = sStyle_PaperBookYear Then
asPaperBook(3) = asPaperBook(3) & oTextPortion.getString()
ElseIf oTextPortion.CharStyleName = sStyle_PaperBookISBN Then
asPaperBook(4) = asPaperBook(4) & oTextPortion.getString()
End If
Wend
Wend
If UBound( asPaperBook() ) <> -1 Then
With oInfoDlg.Model
.pubBookNameTextField.Text = asPaperBook(0)
.pubPublisherTextField.Text = asPaperBook(1)
.pubCityTextField.Text = asPaperBook(2)
.pubYearTextField.Text = asPaperBook(3)
.pubISBNTextField.Text = asPaperBook(4)
End With
End If
End Sub |
|
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|