Всем доброго дня.
Не могу найти, где посмотреть все параметры определенного фильтра экспорта/импорта. Нашел только информацию по PDF Export filter data, а есть нечто подобное по другим фильтрам? В настоящее время интересует экспорт в JPG или PNG.
Есть только по тем фильтрам, которые были описаны. Есть по CSV, по PDF, dBase, Lotus, Diff. По всему остальному надо смотреть код (не могу посмотреть прямо сейчас).
Цитата: mikekaganski от 9 октября 2023, 13:33(не могу посмотреть прямо сейчас)
спасибо. Мне не срочно
Заметки:
Графические фильтры экспорта получают параметры через GraphicExportFilter::gatherProperties (https://opengrok.libreoffice.org/xref/core/filter/source/graphic/GraphicExportFilter.cxx?r=6b252b6a#59). Свойство "FilterData" сохраняется в maFilterDataSequence, и из него сразу получаются параметры "PixelWidth" и "PixelHeight".
Затем эти же параметры передаются в GraphicFilter::ExportGraphic (https://opengrok.libreoffice.org/xref/core/vcl/source/filter/graphicfilter.cxx?r=01230c5c#1483) в виде pFilterData. Там они используются в FilterConfigItem aConfigItem, и соответственно в ImpGetScaledGraphic (https://opengrok.libreoffice.org/xref/core/vcl/source/filter/graphicfilter.cxx?r=01230c5c&mo=6402&fi=190#190); последний использует параметры "LogicalWidth", "LogicalHeight", "ExportMode", "Resolution", "Color". Также aConfigItem используется во многих вызовах ExportXxxGraphic; но в случае PNG и JPG, в соответствующие функции передаётся непосредственно pFilterData. Например, aPNGWriter.setParameters (https://opengrok.libreoffice.org/xref/core/vcl/source/filter/png/PngImageWriter.cxx?r=5374b710#444)( *pFilterData ).
Экспорт PNG использует:
* Compression
* Interlaced
* Translucent
* AdditionalChunks
Но!
Параметры, передаваемые из командной строки типа
soffice --convert-to png:writer_png_Export:params_here example.odt
попадают в строковый параметр "FilterOptions", и графические фильтры ничего не делают, чтобы преобразовать его в "FilterData".
Так что на данный момент ничего из командной стоки не передашь. В принципе это просто реализовать наподобие реализации для PDF (https://gerrit.libreoffice.org/c/core/+/128849).
Спасибо. Буду изучать
https://bugs.documentfoundation.org/show_bug.cgi?id=157668