Writer не сохраняет изображение в файле (РЕШЕНО)

Автор colonelmarch, 21 апреля 2017, 12:55

0 Пользователи и 1 гость просматривают эту тему.

colonelmarch

Помогите, друзья!

Ранее делал такую операцию многократно, но на новой машине лишился такого удобства.
Проблема - в редакторе открываю файл html с картинками, размещенными в отдельной папке. Открывается нормально, но после редактирования картинки в итоговый документ не переносятся. Попытки разорвать связи приводят только к тому, что картинки сохраняются в той же директории, что и итоговый файл.
Как сделать так, что бы картинки сохранялись ВНУТРИ файла?

mikekaganski

#1
Вы не указали ничего. Ни версию программы (впрочем, как и саму программу - то ли это AOO, то ли LO), ни формат файла при сохранении.

Предположу всё же, что речь о LibreOffice и сохраняете Вы также в HTML.
В таком случае релевантные баги - tdf#48887 и tdf#63211.

Единственный вариант сейчас - это использовать интерфейс командной строки с опцией
soffice --convert-to html:HTML:EmbedImages originalfile

UPDATE: на всякий случай опишу подробнее.
До версии 4.1.x включительно, при сохранении в XHTML ЛО внедрял изображения (в формате <img src="data:image/png;base64,[base64-encoded-stream] ... />), а при сохранении в HTML делал обычные ссылки. Баг tdf#48887 был изначально посвящён тому, что не было возможности сохранять XHTML с сохранением внешних ссылок, происходило насильственное внедрение, а баг tdf#63211 - тому, что при использовании mail merge и сохранении HTML изображения не внедрялись и поэтому не отправлялись по почте. Для версии 4.2.0 был сделан фикс, который сделал внедрение изображений безвариантным для всех *HTML форматов, таким образом решая второй баг. При этом те, кто раньше пользовались сохранением HTML со ссылками и полагались на эту возможность, потеряли её, а первый баг был изменён для отражения этого факта (начиная с комментария 6). Другие люди (например, ТС) начали полагаться на новое (нежелательное на самом деле) поведение программы. Затем к версии 5.2.0 был сделан ещё один фикс, который возвращал сохранение HTML со ссылками, но позволил использовать параметр фильтра для указания сохранять внедрённые изображения. Этот параметр стал использоваться в мастере mail merge, таким образом сохраняя исправление второго бага. Но пользовательский интерфейс для этого параметра отсутствует (см. tdf#85904).

Разрыв связи сейчас действует как ожидается (с учётом вышеописанного). Когда Вы загрузили файл в программу, он представлен в памяти во внутреннем формате данных, не привязанном к HTML (или любому другому формату хранения). Изображение "помнит", откуда оно загружено (путь к файлу), и при сохранении будет пытаться сохранить это (если оно было внедрено - постарается остаться внедрённым; если было привязано - сохранит привязку к тому же месту). Если Вы разорвали связь - изображение теперь будет стараться внедриться. Но при сохранении, если формат не позволяет внедрения (а сейчас HTML без опции фильтра - именно такой формат), то ЛО придётся создавать новую связь; для этого программа запишет изображение рядом с файлом (она же не помнит, где это изображение было раньше и как называлось), и создаст связь с этим новым файлом. Причём в зависимости от настройки Сервис-Параметры-Загрузка/сохранение-Общие-Относительные пути к файлам, связь будет относительной или по абсолютному пути. Это может потом сделать невозможным просмотр изображений, даже если они были перенесены вместе с основным файлом в новое место.
С уважением,
Михаил Каганский

colonelmarch

Пользуюсь LibreOffice пятой версии. К сожалению, проблема не только в сохранении в html, не сохраняет картинки в ЛЮБОМ формате!

economist

#3
HTML - это файл с гиперссылками. Во врайтер он редактируется правильно - с сохранением ссылок.

Если нужно чтобы картинки были внутри файла - нужно сменить формат файла. Скажем так:
Файл - Экспорт в PDF. Можно автоматом сохранять в ODT/DOC/PDF с помощью расширения Multisave
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Приложите пример HTML (заархивируйте все нужные файлы) и сгенерированного ODT, в который не перенеслись картинки. И укажите пожалуйста, версию нормально, как она отображается в справке о программе (5.x.y). "Пятых" версий было выпущено уже 24.
С уважением,
Михаил Каганский

colonelmarch

Цитата: economist от 21 апреля 2017, 12:56HTML - это файл с гиперссылками. Во врайтер он редактируется правильно - с сохранением ссылок.

Если нужно чтобы картинки были внутри файла - нужно сменить формат файла.

На домашнем компе конвертирует правильно, с сохранением изображения внутри файла, html-формат это позволяет.
Вот пример - index01.html

colonelmarch

Цитата: mikekaganski от 21 апреля 2017, 13:01Приложите пример HTML (заархивируйте все нужные файлы) и сгенерированного ODT, в который не перенеслись картинки.

Пользовался версией 5.2.4. Сегодня с утра установил 5.3.2.2.
В архиве файл и папка index - исходник.
index00 - то, что получается. Если разорвать связь, то появится еще и index00_html_8a2b1289d90e3fbe.gif.

index01.html - то, что получается на домашнем компе (система и офис одинаковые).

index.odt - в родном формате ЛО. В пятницу сохранял без картинки.

Но мне нужен именно html c картинкой!!!
Может, где настройки пропущены?

mikekaganski

Ну что ж Вы говорите, что офисы одинаковые!
index01.html: <meta name="generator" content="LibreOffice 4.4.3.2 (Linux)"/>
index00.html: <meta name="generator" content="LibreOffice 5.2.3.3 (Linux)"/>

Я Вам указал причину в первом ответе. Как оказалось в Вашем предыдущем комментарии, речь не о любом формате, а только о HTML.
С уважением,
Михаил Каганский

colonelmarch

Цитата: mikekaganski от 24 апреля 2017, 09:19Ну что ж Вы говорите, что офисы одинаковые!
Данные еще с пятницы.

Цитата: mikekaganski от 24 апреля 2017, 09:19Как оказалось в Вашем предыдущем комментарии, речь не о любом формате, а только о HTML.
То есть, сохранить html c картинками новая версия не может?

mikekaganski

В первом ответе есть пример командной строки, которая позволяет это сделать. Но из диалога сохранения или настроек - нет.
С уважением,
Михаил Каганский

colonelmarch

Переустановил из PDA. Версия ЛО 5.3.2.2.

Картинки отказывается сохранять в любом формате, в том числе и в собственном.
В чем моя ошибка?!

mikekaganski

Если не ошибаюсь, Вы хотели сказать, что картинка не сохраняется внутри файла, а не то, что она теряется и не показывается после повторного открытия (при условии, что файл картинки не был удалён или перемещён)?

Проделайте, пожалуйста, следующие действия:
1. Откройте исходный файл.
2. Разорвите связь.
3. Сохраните в формате ODT.
4. Проверьте размер полученного файла (должен быть в районе 673 КБ). Изображение должно быть внедрено в ODT.

При невыполнении п.2 Вы должны получить то, что Вы получаете сейчас.
При использовании в п.3 формата HTML Вы получите связь с вновь созданным файлом изображения в той же папке, что и HTML.
С уважением,
Михаил Каганский

colonelmarch

Михаил, спасибо, все получилось!

Спасибо за разъяснение процесса в новых версиях ЛО. Очень жаль, что сохранение в хтмл-файле картинок более не поддерживается, мне было очень удобно загружать файлы в читалку.
Вопрос считаю исчерпанным.

economist

Имхо, по форматам. LED/E-Ink читалку - лучше "кормить" форматами PDF, FB2 - которые прекрасно, нет, ПРЕКРАСНО умеет делать OpenOffice|LibreOffice!

Уже 3 года юзаю три книжки очень разного размера и класса, в основном техдокументация, datasheets, книги - проза, поэзия, и уверен в своей правоте. Современные книжки намного лучше реформатят PDF, чем тот же HTML. 

Более того, если мне нужно сохранить сайт как есть, в оффлайн - есть браузер FireFox со Scrapbook-расширением, есть также печать на виртуальные PDF-принтеры или любого приложения. И все это бесплатно для любых применений.

Сохранял веб-страничку как HTML прошлый раз в 2009 году.  С тех пор многое переменилось. Примерно 90% веб-контента рендерятся теперь в CMS и новомодных технологиях (ajaх, node.js, flash), поэтому сохранение сайта в HTML/CHM/веб-архив - сродни разглядыванию мира через дно стеклянной бутылки. Кое что видно, но не всё.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...