[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: mediaobject with base64 encoded image data
Good morning, We plan to XSL transform a dynamically generated docbook including images to FO and subsequently process that to PDF. Therefore I'm digging only in the docbook to FO stylesheets. While investigating that we had the idea to base64 encode images and include them in the docbook because it enables us to bypass image caching while generating PDF on the fly. To include a base64 image I had the idea to write it as: -- quote -- <docbook:figure> <docbook:title>Sample</docbook:title> <docbook:mediaobject> <docbook:imageobject> <fo:external-graphic src="data:image/jpeg;base64,XYZ" width="auto" height="auto" content-width="auto" content-height="auto" content-type="content-type:image/jpeg" /> </docbook:imageobject> </docbook:mediaobject> </docbook:figure> -- /quote -- But unfortunately the stylesheet (1.75.2 release) would wrap that within a <fo:instream-foreign-object /> and that causes the FO processor to fail including the base64 encoded image. Therefore I changed the docbook xsl stylesheet (based on the 1.75.2 release) in the file fo/graphics.xsl slightly: -- diffquote -- <xsl:template match="imageobject"> <xsl:choose> <xsl:when test="imagedata"> <xsl:apply-templates select="imagedata"/> </xsl:when> + <xsl:when test="fo:external-graphic"> + <xsl:apply-templates mode="copy-all" /> + </xsl:when> <xsl:otherwise> <fo:instream-foreign-object> <xsl:apply-templates mode="copy-all"/> </fo:instream-foreign-object> </xsl:otherwise> </xsl:choose> </xsl:template> -- /diffquote -- This patch drops the <fo:instream-foreign-object /> tag when encountering <fo:external-graphic />. Does this patch break other things? Would you guys do it somehow different? Cheers, Dominik
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]