Bug 112075 - Problems with element <draw:fill-image> in flat ODF
Summary: Problems with element <draw:fill-image> in flat ODF
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
4.1 all versions
Hardware: x86 (IA32) Windows (All)
: medium minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: ODF-Flat
  Show dependency treegraph
 
Reported: 2017-08-28 22:21 UTC by Regina Henschel
Modified: 2021-05-22 17:58 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Example files, see description (62.05 KB, application/zip)
2017-08-28 22:21 UTC, Regina Henschel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Regina Henschel 2017-08-28 22:21:50 UTC
Created attachment 135834 [details]
Example files, see description

If you use an image for background filling, e.g. a page background, then the image is specified by the <draw:fill-image> element in <office:styles> in styles.xml in the package. This element references the image itself in the Pictures folder in the package.

If you use the flat ODF format, then no folder Pictures exists. LibreOffice writes the <office:binary-data> element as child of <draw:fill-image> to store the image base64 encoded. But that child element is not allowed in ODF 1.2. I have written https://issues.oasis-open.org/browse/OFFICE-3933 to get LibreOffices behavior into ODF 1.3. I think, that there is no need to put something temporarily into loext namespace, because LibreOffice is the only application which can read and write flat ODF. Or do you know another one?

If you use a link to an external image in <draw:fill-image>, that is valid ODF 1.2. Such link works in packed format although LibreOffice has no UI to link an external background image. But it fails in flat format. That is, what this issue is about, LibreOffice should be able to interpret links to external images in flat format as well.

The attached zip-file contains an image Clipart.png which is linked from ImageBackgroundexternalImage.fodp and from ImageBackgroundeternalImage.odp. The file ImageBackground_strict.fodg is written by LibreOffice and contains the faulty <office:binary-data> element. To validate the flat ODF file against the RELAX NG schema, you can use xmllint on Linux or Cygwin or use the Jave program jing on Windows.
Comment 1 Buovjaga 2017-09-09 13:42:44 UTC
Let's set to NEW.

(In reply to Regina Henschel from comment #0)
> LibreOffices behavior into ODF 1.3. I think, that there is no need to put
> something temporarily into loext namespace, because LibreOffice is the only
> application which can read and write flat ODF. Or do you know another one?

I found another one: http://fletcherpenney.net/multimarkdown/
Comment 2 Regina Henschel 2017-10-24 09:55:11 UTC
The ODF TC has agreed to OFFICE-3933.

I do not found where in  http://fletcherpenney.net/multimarkdown/ images are used.
Comment 3 QA Administrators 2019-05-22 02:52:14 UTC Comment hidden (obsolete)
Comment 4 Regina Henschel 2019-05-22 14:26:25 UTC
I suggest to keep this open until ODF 1.3 is released, to make sure, that the needed element is indeed included in the new ODF version.
Comment 5 QA Administrators 2021-05-22 04:23:08 UTC Comment hidden (obsolete)
Comment 6 Regina Henschel 2021-05-22 17:58:33 UTC
Using base64 is now allowed for ODF 1.3. So I close this bug report. I'll write a new bug report, that the linked background image is not read.