EPUB 3 preparations + embed HTML images as base 64

git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@226 f0f2a975-2e09-46c8-9428-3b39399b9f3c
This commit is contained in:
henrikjust 2015-01-17 11:23:57 +00:00
parent 951bcc0f85
commit 53c84ca717
21 changed files with 209 additions and 61 deletions

View file

@ -2,7 +2,18 @@ Changelog for Writer2LaTeX version 1.4 -> 1.6
---------- version 1.5.2 ----------
[w2l] Added new BibTeX dialog to insert a bibliographic reference to a BibTeX file. The BibTeX files are located as
Items marked with * are work in progress
[all] *Document the use of soffice --headless --convert-to
[w2x] *Added EPUB 3 as export format and changed the toolbar to export to EPUB 3
[all] Fixed typo in export dialogs: The text on the help button was in danish.
[w2x] New boolean option embed_img (default false). If set to true, the binary contents of img elements are included
directly on the src attribute as base64.
[w2l] *Added new BibTeX dialog to insert a bibliographic reference to a BibTeX file. The BibTeX files are located as
defined in the configuration, and the reference is inserted as an ordinary reference mark.
[w2l] Various improvements to the log viewer dialog: Reduced height to better accommodate small screen resolutions.
@ -10,7 +21,7 @@ Changelog for Writer2LaTeX version 1.4 -> 1.6
[w2x] Changed export format for toolbar from XHTML+MathML to HTML5
[w2l] Added new option font to load font packages. It accepts a large number of standard font packages such as
[w2l] *Added new option font to load font packages. It accepts a large number of standard font packages such as
cmbright or fourier. Only packages with math support are included. Unknown packages defaults to Computer Modern.
The font option is currently not available for the backend xetex.
In the user interface, this option can be found in the export dialog. To make room for this, the BibTeX

Binary file not shown.

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.6 (2014-10-07)
* Version 1.6 (2015-01-13)
*
*/
package org.openoffice.da.comp.w2lcommon.filter;
@ -79,6 +79,7 @@ public class UNOConverter {
filterNames.put("org.openoffice.da.writer2xhtml5","text/html5");
filterNames.put("org.openoffice.da.writer2xhtml.mathml","application/xhtml+xml");
filterNames.put("org.openoffice.da.writer2xhtml.epub","application/epub+zip");
filterNames.put("org.openoffice.da.writer2xhtml.epub3","epub3");
filterNames.put("org.openoffice.da.calc2xhtml","text/html");
filterNames.put("org.openoffice.da.calc2xhtml11","application/xhtml11");
filterNames.put("org.openoffice.da.calc2xhtml5","text/html5");

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.6 (2014-12-27)
* Version 1.6 (2015-01-09)
*
*/
package org.openoffice.da.comp.w2lcommon.filter;
@ -51,7 +51,7 @@ import com.sun.star.util.XModifiable;
*/
public class UNOPublisher {
public enum TargetFormat { xhtml, xhtml11, xhtml_mathml, html5, epub, latex };
public enum TargetFormat { xhtml, xhtml11, xhtml_mathml, html5, epub, epub3, latex };
private String sAppName;
@ -294,6 +294,7 @@ public class UNOPublisher {
case xhtml_mathml: return ".xhtml";
case html5: return ".html";
case epub: return ".epub";
case epub3: return ".epub";
case latex: return ".tex";
default: return "";
}
@ -306,6 +307,7 @@ public class UNOPublisher {
case xhtml_mathml:
case html5: return "org.openoffice.da.comp.writer2xhtml.XhtmlOptionsDialogMath";
case epub: return "org.openoffice.da.comp.writer2xhtml.EpubOptionsDialog";
case epub3: return "org.openoffice.da.comp.writer2xhtml.EpubOptionsDialog";
case latex: return "org.openoffice.da.comp.writer2latex.LaTeXOptionsDialog";
default: return null;
}
@ -318,6 +320,7 @@ public class UNOPublisher {
case xhtml_mathml:
case html5: return "org.openoffice.da.comp.writer2xhtml.XhtmlOptionsDialogCalc";
case epub:
case epub3:
case latex:
default: return null;
}
@ -330,6 +333,7 @@ public class UNOPublisher {
case xhtml_mathml: return "org.openoffice.da.writer2xhtml.mathml";
case html5: return "org.openoffice.da.writer2xhtml5";
case epub: return "org.openoffice.da.writer2xhtml.epub";
case epub3: return "org.openoffice.da.writer2xhtml.epub";
case latex: return "org.openoffice.da.writer2latex";
default: return "";
}

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.4 (2014-09-26)
* Version 1.6 (2015-01-14)
*
*/
@ -518,6 +518,7 @@ public class ConfigurationDialog extends ConfigurationDialogBase implements XSer
textFieldFromConfig(dlg, "EndnotesHeading", "endnotes_heading");
textFieldFromConfig(dlg, "FootnotesHeading", "footnotes_heading");
checkBoxFromConfig(dlg, "EmbedSvg", "embed_svg");
checkBoxFromConfig(dlg, "EmbedImg", "embed_img");
}
@Override protected void getControls(DialogAccess dlg) {
@ -525,6 +526,7 @@ public class ConfigurationDialog extends ConfigurationDialogBase implements XSer
textFieldToConfig(dlg, "EndnotesHeading", "endnotes_heading");
textFieldToConfig(dlg, "FootnotesHeading", "footnotes_heading");
checkBoxToConfig(dlg, "EmbedSvg", "embed_svg");
checkBoxToConfig(dlg, "EmbedImg", "embed_img");
}
@Override protected boolean handleEvent(DialogAccess dlg, String sMethod) {

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.6 (2014-11-15)
* Version 1.6 (2015-01-09)
*
*/
@ -59,7 +59,7 @@ public final class Writer2xhtml extends WeakBase
// TODO: These should be configurable
private TargetFormat xhtmlFormat = TargetFormat.html5;
private TargetFormat epubFormat = TargetFormat.epub;
private TargetFormat epubFormat = TargetFormat.epub3;
public Writer2xhtml(XComponentContext xContext) {
m_xContext = xContext;

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.4 (2014-08-25)
* Version 1.6 (2015-01-09)
*
*/
@ -54,7 +54,7 @@ import writer2latex.util.Misc;
* <p>Where the available options are
* <ul>
* <li><code>-latex</code>, <code>-bibtex</code>, <code>-html5</code>, <code>-xhtml</code>,
<code>-xhtml+mathml</code>, <code>-epub</code>
<code>-xhtml+mathml</code>, <code>-epub</code>, <code>-epub3</code>
* <li><code>-recurse</code>
* <li><code>-ultraclean</code>, <code>-clean</code>, <code>-pdfscreen</code>,
* <code>-pdfprint</code>, <code>-cleanxhtml</code>
@ -330,6 +330,7 @@ public final class Application {
System.out.println(" -xhtml+mathml");
System.out.println(" -html5");
System.out.println(" -epub");
System.out.println(" -epub3");
System.out.println(" -recurse");
System.out.println(" -template[=]<template file>");
System.out.println(" -stylesheet[=]<style sheet file>");
@ -366,6 +367,7 @@ public final class Application {
else if ("-xhtml11".equals(sArg)) { sTargetMIME = MIMETypes.XHTML11; }
else if ("-xhtml+mathml".equals(sArg)) { sTargetMIME = MIMETypes.XHTML_MATHML; }
else if ("-epub".equals(sArg)) { sTargetMIME = MIMETypes.EPUB; }
else if ("-epub3".equals(sArg)) { sTargetMIME = MIMETypes.EPUB3; }
else if ("-recurse".equals(sArg)) { bRecurse = true; }
else if ("-ultraclean".equals(sArg)) { configFileNames.add("*ultraclean.xml"); }
else if ("-clean".equals(sArg)) { configFileNames.add("*clean.xml"); }

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.6 (2014-11-09)
* Version 1.6 (2015-01-14)
*
*/
@ -33,7 +33,7 @@ public class ConverterFactory {
// Version information
private static final String VERSION = "1.5.2";
private static final String DATE = "2014-11-18";
private static final String DATE = "2015-01-14";
/** Return the Writer2LaTeX version in the form
* (major version).(minor version).(patch level)<br/>
@ -63,7 +63,8 @@ public class ConverterFactory {
* Note that this is <em>not</em> the recommended media type for HTML5
* (see http://wiki.whatwg.org/), but it is used internally
* by Writer2xhtml to distinguish from HTML5</li>
* <li><code>application/epub+zip</code></li> for EPUB format
* <li><code>application/epub+zip</code></li> for EPUB format</li>
* <li><code>epub3</code> for EPUB 3 format</li>
* </ul>
*
* @param sMIME the MIME type of the target format
@ -90,6 +91,9 @@ public class ConverterFactory {
else if (MIMETypes.HTML5.equals(sMIME)) {
converter = createInstance("writer2latex.xhtml.Html5Converter");
}
else if (MIMETypes.EPUB3.equals(sMIME)) {
converter = createInstance("writer2latex.epub.EPUB3Converter");
}
else if (MIMETypes.EPUB.equals(sMIME)) {
converter = createInstance("writer2latex.epub.EPUBConverter");
}

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.4 (2014-08-13)
* Version 1.6 (2015-01-09)
*
*/
@ -54,6 +54,8 @@ public class MIMETypes {
/** This is a fake MIME type, for internal use only */
public static final String HTML5="text/html5";
public static final String EPUB="application/epub+zip";
/** This is not a MIME type either */
public static final String EPUB3="epub3";
public static final String LATEX="application/x-latex";
public static final String BIBTEX="application/x-bibtex";
public static final String TEXT="text";

View file

@ -0,0 +1,65 @@
/************************************************************************
*
* EPUB3Converter.java
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* version 1.6 (2015-01-15)
*
*/
package writer2latex.epub;
import java.io.IOException;
import java.io.InputStream;
import writer2latex.api.ConverterResult;
import writer2latex.base.ConverterResultImpl;
import writer2latex.xhtml.Html5Converter;
/** This class converts an OpenDocument file to an EPUB 3 document.
*/
public final class EPUB3Converter extends Html5Converter {
// Constructor
public EPUB3Converter() {
super();
}
@Override public ConverterResult convert(InputStream is, String sTargetFileName) throws IOException {
setOPS(true);
ConverterResult xhtmlResult = super.convert(is, "chapter");
return createPackage(xhtmlResult,sTargetFileName);
}
@Override public ConverterResult convert(org.w3c.dom.Document dom, String sTargetFileName, boolean bDestructive) throws IOException {
setOPS(true);
ConverterResult xhtmlResult = super.convert(dom, "chapter", bDestructive);
return createPackage(xhtmlResult,sTargetFileName);
}
private ConverterResult createPackage(ConverterResult xhtmlResult, String sTargetFileName) {
ConverterResultImpl epubResult = new ConverterResultImpl();
epubResult.addDocument(new EPUBWriter(xhtmlResult,sTargetFileName,3,getXhtmlConfig()));
epubResult.setMetaData(xhtmlResult.getMetaData());
return epubResult;
}
}

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2001-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* version 1.4 (2014-09-24)
* version 1.6 (2015-01-15)
*
*/
@ -57,7 +57,7 @@ public final class EPUBConverter extends Xhtml11Converter {
private ConverterResult createPackage(ConverterResult xhtmlResult, String sTargetFileName) {
ConverterResultImpl epubResult = new ConverterResultImpl();
epubResult.addDocument(new EPUBWriter(xhtmlResult,sTargetFileName,getXhtmlConfig()));
epubResult.addDocument(new EPUBWriter(xhtmlResult,sTargetFileName,2,getXhtmlConfig()));
epubResult.setMetaData(xhtmlResult.getMetaData());
return epubResult;
}

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2001-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* version 1.4 (2014-09-07)
* version 1.6 (2015-01-15)
*
*/
@ -51,25 +51,34 @@ public class EPUBWriter implements OutputFile {
private String sFileName;
//private XhtmlConfig config;
public EPUBWriter(ConverterResult xhtmlResult, String sFileName, XhtmlConfig config) {
/** Create a new <code>EPUBWriter</code> based on a <code>ConverterResult</code>.
*
* @param xhtmlResult the converter result to repackage
* @param sFileName the file name to use for the result
* @param nVersion the EPUB version number. Can be either 2 or 3, other values are interpreted as 2.
* @param config the configuration to use
*/
public EPUBWriter(ConverterResult xhtmlResult, String sFileName, int nVersion, XhtmlConfig config) {
this.xhtmlResult = xhtmlResult;
this.sFileName = Misc.removeExtension(sFileName);
//this.config = config;
}
// Implement OutputFile
public String getFileName() {
@Override public String getFileName() {
return sFileName+".epub";
}
public String getMIMEType() {
@Override public String getMIMEType() {
return "application/epub+zip";
}
public boolean isMasterDocument() {
@Override public boolean isMasterDocument() {
return true;
}
public void write(OutputStream os) throws IOException {
@Override public void write(OutputStream os) throws IOException {
ZipOutputStream zos = new ZipOutputStream(os);
// Write uncompressed MIME type as first entry

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.4 (2014-09-24)
* Version 1.6 (2015-01-14)
*
*/
@ -47,6 +47,8 @@ import java.util.Vector;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import javax.xml.bind.DatatypeConverter;
import org.xml.sax.SAXException;
import org.w3c.dom.Document;
@ -100,6 +102,7 @@ public class DrawConverter extends ConverterHelper {
private String sImageSplit;
private boolean bCoverImage;
private boolean bEmbedSVG;
private boolean bEmbedImg;
// Embedded SVG images for recycling are collected here
private HashMap<String,Element> svgImages = new HashMap<String,Element>();
@ -113,7 +116,7 @@ public class DrawConverter extends ConverterHelper {
private Vector<Element> fullscreenFrames = new Vector<Element>();
// This flag determines whether to collect full screen images or insert them immediately
private boolean bCollectFullscreenFrames = true;
public DrawConverter(OfficeReader ofr, XhtmlConfig config, Converter converter) {
super(ofr,config,converter);
// We can only handle one form; pick an arbitrary one.
@ -130,6 +133,7 @@ public class DrawConverter extends ConverterHelper {
sImageSplit = config.imageSplit();
bCoverImage = config.coverImage();
bEmbedSVG = config.embedSVG();
bEmbedImg = config.embedImg();
}
///////////////////////////////////////////////////////////////////////
@ -516,21 +520,28 @@ public class DrawConverter extends ConverterHelper {
}
}
else {
// In all other cases, create an img element
if (bgd!=null && !bgd.isLinked() && !bgd.isRecycled()) { converter.addDocument(bgd); }
// In all other cases, create an img element
if (bgd!=null && !bgd.isLinked() && !bgd.isRecycled() && !bEmbedImg) { converter.addDocument(bgd); }
Element image = converter.createElement("img");
String sName = Misc.getAttribute(getFrame(onode),XMLString.DRAW_NAME);
converter.addTarget(image,sName+"|graphic");
image.setAttribute("src",sFileName);
if (!bEmbedImg || bgd.isLinked()) {
image.setAttribute("src",sFileName);
}
else {
StringBuilder buf = new StringBuilder();
buf.append("data:").append(bgd.getMIMEType()).append(";base64,")
.append(DatatypeConverter.printBase64Binary(bgd.getData()));
image.setAttribute("src", buf.toString());
}
// Add alternative text, using either alt.text, name or file name
Element desc = Misc.getChildByTagName(frame,XMLString.SVG_DESC);
if (desc==null) {
desc = Misc.getChildByTagName(frame,XMLString.SVG_TITLE);
desc = Misc.getChildByTagName(frame,XMLString.SVG_TITLE);
}
String sAltText = desc!=null ? Misc.getPCDATA(desc) : (sName!=null ? sName : sFileName);
image.setAttribute("alt",sAltText);
imageElement = image;
imageElement = image;
}
if (imageElement!=null) {

View file

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Copyright: 2002-2014 by Henrik Just
* Copyright: 2002-2015 by Henrik Just
*
* All Rights Reserved.
*
* Version 1.6 (2014-10-24)
* Version 1.6 (2015-01-14)
*
*/
@ -41,7 +41,7 @@ import writer2latex.util.Misc;
public class XhtmlConfig extends writer2latex.base.ConfigBase {
// Implement configuration methods
protected int getOptionCount() { return 56; }
protected int getOptionCount() { return 57; }
protected String getDefaultConfigPath() { return "/writer2latex/xhtml/config/"; }
// Override setOption: To be backwards compatible, we must accept options
@ -144,18 +144,19 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase {
private static final int IMAGE_SPLIT = 41;
private static final int COVER_IMAGE = 42;
private static final int EMBED_SVG = 43;
private static final int USE_MATHJAX = 44;
private static final int CALC_SPLIT = 45;
private static final int DISPLAY_HIDDEN_SHEETS = 46;
private static final int DISPLAY_HIDDEN_ROWS_COLS = 47;
private static final int DISPLAY_FILTERED_ROWS_COLS = 48;
private static final int APPLY_PRINT_RANGES = 49;
private static final int USE_TITLE_AS_HEADING = 50;
private static final int USE_SHEET_NAMES_AS_HEADINGS = 51;
private static final int SAVE_IMAGES_IN_SUBDIR = 52;
private static final int UPLINK = 53;
private static final int DIRECTORY_ICON = 54;
private static final int DOCUMENT_ICON = 55;
private static final int EMBED_IMG = 44;
private static final int USE_MATHJAX = 45;
private static final int CALC_SPLIT = 46;
private static final int DISPLAY_HIDDEN_SHEETS = 47;
private static final int DISPLAY_HIDDEN_ROWS_COLS = 48;
private static final int DISPLAY_FILTERED_ROWS_COLS = 49;
private static final int APPLY_PRINT_RANGES = 50;
private static final int USE_TITLE_AS_HEADING = 51;
private static final int USE_SHEET_NAMES_AS_HEADINGS = 52;
private static final int SAVE_IMAGES_IN_SUBDIR = 53;
private static final int UPLINK = 54;
private static final int DIRECTORY_ICON = 55;
private static final int DOCUMENT_ICON = 56;
protected ComplexOption xheading = addComplexOption("heading-map");
protected ComplexOption xpar = addComplexOption("paragraph-map");
@ -274,6 +275,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase {
options[IMAGE_SPLIT] = new Option("image_split","none");
options[COVER_IMAGE] = new BooleanOption("cover_image","false");
options[EMBED_SVG] = new BooleanOption("embed_svg","false");
options[EMBED_IMG] = new BooleanOption("embed_img","false");
options[USE_MATHJAX] = new BooleanOption("use_mathjax","false");
options[CALC_SPLIT] = new BooleanOption("calc_split","false");
options[DISPLAY_HIDDEN_SHEETS] = new BooleanOption("display_hidden_sheets", "false");
@ -413,6 +415,7 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase {
public String imageSplit() { return options[IMAGE_SPLIT].getString(); }
public boolean coverImage() { return ((BooleanOption) options[COVER_IMAGE]).getValue(); }
public boolean embedSVG() { return ((BooleanOption) options[EMBED_SVG]).getValue(); }
public boolean embedImg() { return ((BooleanOption) options[EMBED_IMG]).getValue(); }
public boolean useMathJax() { return ((BooleanOption) options[USE_MATHJAX]).getValue(); }
public boolean xhtmlCalcSplit() { return ((BooleanOption) options[CALC_SPLIT]).getValue(); }
public boolean xhtmlDisplayHiddenSheets() { return ((BooleanOption) options[DISPLAY_HIDDEN_SHEETS]).getValue(); }

View file

@ -105,7 +105,7 @@
<dlg:checkbox dlg:id="IgnoreDoubleSpaces" dlg:tab-index="40" dlg:left="193" dlg:top="218" dlg:width="149" dlg:height="12" dlg:help-text="&amp;104.LaTeXOptions.IgnoreDoubleSpaces.HelpText" dlg:help-url="org.openoffice.da.writer2latex.oxt:OptionsIgnoreDoubleSpaces" dlg:value="&amp;105.LaTeXOptions.IgnoreDoubleSpaces.Label" dlg:checked="false"/>
<dlg:button dlg:id="ExportButton" dlg:tab-index="41" dlg:left="5" dlg:top="242" dlg:width="60" dlg:height="13" dlg:help-text="&amp;106.LaTeXOptions.ExportButton.HelpText" dlg:value="&amp;107.LaTeXOptions.ExportButton.Label" dlg:button-type="ok"/>
<dlg:button dlg:id="CancelButton" dlg:tab-index="42" dlg:left="75" dlg:top="242" dlg:width="60" dlg:height="13" dlg:help-text="&amp;108.LaTeXOptions.CancelButton.HelpText" dlg:value="&amp;109.LaTeXOptions.CancelButton.Label" dlg:button-type="cancel"/>
<dlg:button dlg:id="HelpButton" dlg:tab-index="43" dlg:left="282" dlg:top="242" dlg:width="60" dlg:height="13" dlg:help-url="org.openoffice.da.writer2latex.oxt:Options" dlg:value="Hlp" dlg:button-type="help"/>
<dlg:button dlg:id="HelpButton" dlg:tab-index="43" dlg:left="282" dlg:top="242" dlg:width="60" dlg:height="13" dlg:help-url="org.openoffice.da.writer2latex.oxt:Options" dlg:value="Help" dlg:button-type="help"/>
<dlg:checkbox dlg:id="DisplayHiddenText" dlg:tab-index="26" dlg:left="193" dlg:top="50" dlg:width="149" dlg:height="12" dlg:help-text="&amp;147.LaTeXOptions.DisplayHiddenText.HelpText" dlg:help-url="org.openoffice.da.writer2latex.oxt:DisplayHiddenText" dlg:value="&amp;148.LaTeXOptions.DisplayHiddenText.Label" dlg:checked="false"/>
<dlg:text dlg:id="FontLabel" dlg:tab-index="44" dlg:left="12" dlg:top="78" dlg:width="47" dlg:height="12" dlg:help-text="&amp;151.LaTeXOptions.FontLabel.HelpText" dlg:value="&amp;152.LaTeXOptions.FontLabel.Label"/>
<dlg:menulist dlg:id="Font" dlg:tab-index="9" dlg:left="65" dlg:top="76" dlg:width="96" dlg:height="12" dlg:help-text="&amp;154.LaTeXOptions.Font.HelpText" dlg:help-url="org.openoffice.da.writer2latex.oxt:OptionsFont" dlg:spin="true" dlg:linecount="10"/>

View file

@ -63,7 +63,7 @@
<dlg:checkbox dlg:id="SaveImagesInSubdir" dlg:tab-index="24" dlg:left="10" dlg:top="246" dlg:width="180" dlg:height="12" dlg:help-text="&amp;67.XhtmlOptions.SaveImagesInSubdir.HelpText" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:OptionsSaveImagesInSubdir" dlg:value="&amp;68.XhtmlOptions.SaveImagesInSubdir.Label" dlg:checked="false"/>
<dlg:button dlg:id="ExportButton" dlg:tab-index="26" dlg:left="5" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-text="&amp;73.XhtmlOptions.ExportButton.HelpText" dlg:value="&amp;74.XhtmlOptions.ExportButton.Label" dlg:button-type="ok"/>
<dlg:button dlg:id="CancelButton" dlg:tab-index="27" dlg:left="70" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-text="&amp;75.XhtmlOptions.CancelButton.HelpText" dlg:value="&amp;76.XhtmlOptions.CancelButton.Label" dlg:button-type="cancel"/>
<dlg:button dlg:id="HelpButton" dlg:tab-index="28" dlg:left="135" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:Options" dlg:value="Hlp" dlg:button-type="help"/>
<dlg:button dlg:id="HelpButton" dlg:tab-index="28" dlg:left="135" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:Options" dlg:value="Help" dlg:button-type="help"/>
<dlg:checkbox dlg:id="UseMathjax" dlg:tab-index="25" dlg:left="10" dlg:top="260" dlg:width="180" dlg:height="11" dlg:help-text="&amp;144.XhtmlOptions.UseMathjax.HelpText" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:OptionsUseMathjax" dlg:value="&amp;145.XhtmlOptions.UseMathjax.Label" dlg:checked="false"/>
</dlg:bulletinboard>
</dlg:window>

View file

@ -34,6 +34,6 @@
<dlg:checkbox dlg:id="SaveImagesInSubdir" dlg:tab-index="23" dlg:left="10" dlg:top="260" dlg:width="175" dlg:height="12" dlg:help-text="&amp;124.XhtmlOptionsCalc.SaveImagesInSubdir.HelpText" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:OptionsCalcSaveImagesInSubdir" dlg:value="&amp;125.XhtmlOptionsCalc.SaveImagesInSubdir.Label" dlg:checked="false"/>
<dlg:button dlg:id="ExportButton" dlg:tab-index="24" dlg:left="5" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-text="&amp;126.XhtmlOptionsCalc.ExportButton.HelpText" dlg:value="&amp;127.XhtmlOptionsCalc.ExportButton.Label" dlg:button-type="ok"/>
<dlg:button dlg:id="CancelButton" dlg:tab-index="25" dlg:left="70" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-text="&amp;128.XhtmlOptionsCalc.CancelButton.HelpText" dlg:value="&amp;129.XhtmlOptionsCalc.CancelButton.Label" dlg:button-type="cancel"/>
<dlg:button dlg:id="HelpButton" dlg:tab-index="26" dlg:left="135" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:OptionsCalc" dlg:value="?" dlg:button-type="help"/>
<dlg:button dlg:id="HelpButton" dlg:tab-index="26" dlg:left="135" dlg:top="286" dlg:width="55" dlg:height="12" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:OptionsCalc" dlg:value="Help" dlg:button-type="help"/>
</dlg:bulletinboard>
</dlg:window>

View file

@ -17,7 +17,8 @@
<dlg:text dlg:id="NotesHeadingsLabel" dlg:tab-index="3" dlg:left="5" dlg:top="36" dlg:width="245" dlg:height="12" dlg:value="Footnotes and endnotes"/>
<dlg:text dlg:id="FootnotesHeadingLabel" dlg:tab-index="6" dlg:left="10" dlg:top="64" dlg:width="110" dlg:height="12" dlg:value="Footnotes heading"/>
<dlg:textfield dlg:id="FootnotesHeading" dlg:tab-index="7" dlg:left="130" dlg:top="62" dlg:width="120" dlg:height="12" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:FootnotesHeading"/>
<dlg:text dlg:id="SvgLabel" dlg:tab-index="8" dlg:left="5" dlg:top="80" dlg:width="245" dlg:height="12" dlg:value="SVG images (HTML5 only)"/>
<dlg:checkbox dlg:id="EmbedSvg" dlg:tab-index="9" dlg:left="10" dlg:top="92" dlg:width="240" dlg:height="12" dlg:value="Embed SVG images in the HTML document" dlg:checked="false" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:EmbedSvg"/>
<dlg:text dlg:id="ImageLabel" dlg:tab-index="8" dlg:left="5" dlg:top="80" dlg:width="245" dlg:height="12" dlg:value="Images"/>
<dlg:checkbox dlg:id="EmbedSvg" dlg:tab-index="9" dlg:left="10" dlg:top="92" dlg:width="240" dlg:height="12" dlg:value="Embed SVG images in the HTML document (HTML5 only)" dlg:checked="false" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:EmbedSvg"/>
<dlg:checkbox dlg:id="EmbedImg" dlg:tab-index="10" dlg:left="10" dlg:top="104" dlg:width="240" dlg:height="12" dlg:value="Embed all images in the HTML document (base64 encoded)" dlg:checked="false" dlg:help-url="org.openoffice.da.writer2xhtml.oxt:EmbedImg"/>
</dlg:bulletinboard>
</dlg:window>

View file

@ -52,7 +52,7 @@
This has no effect if footnotes are placed at the bottom of the page.</paragraph>
<paragraph role="heading" level="2" xml-lang="en-US">SVG images</paragraph>
<paragraph role="heading" level="2" xml-lang="en-US">Images</paragraph>
<bookmark xml-lang="en-US" branch="hid/org.openoffice.da.writer2xhtml.oxt:EmbedSvg" id="bm_configembedsvg"/>
@ -60,5 +60,12 @@
<paragraph role="paragraph" xml-lang="en-US">If you check this option, SVG images will be embedded directly
in the HTML document. Otherwise they will be included in a separate file. SVG images are only supported
in HTML5.</paragraph>
<bookmark xml-lang="en-US" branch="hid/org.openoffice.da.writer2xhtml.oxt:EmbedImg" id="bm_configembedimg"/>
<paragraph role="heading" level="3" xml-lang="en-US">Embed all images in the HTML document</paragraph>
<paragraph role="paragraph" xml-lang="en-US">If you check this option, all images will be embedded directly
in the HTML document (base64 encoded). Otherwise they will be included in a separate file.
This is not recommended for documents with large images.</paragraph>
</body>
</helpdocument>

View file

@ -101,6 +101,20 @@
<prop oor:name="Flags"><value>EXPORT ALIEN 3RDPARTYFILTER</value></prop>
</node>
<node oor:name="org.openoffice.da.writer2xhtml.epub3" oor:op="replace" oor:finalized="true" oor:mandatory="true">
<prop oor:name="FileFormatVersion"><value>0</value></prop>
<prop oor:name="Type"><value>writer_epub3_File</value></prop>
<prop oor:name="DocumentService"><value>com.sun.star.text.TextDocument</value></prop>
<prop oor:name="UIComponent"><value>org.openoffice.da.comp.writer2xhtml.EpubOptionsDialog</value></prop>
<prop oor:name="UserData"><value>org.openoffice.da.comp.writer2xhtml.W2XExportFilter unused com.sun.star.comp.Writer.XMLOasisImporter com.sun.star.comp.Writer.XMLOasisExporter staroffice/sxw epub3</value></prop>
<prop oor:name="FilterService"><value>com.sun.star.comp.Writer.XmlFilterAdaptor</value></prop>
<prop oor:name="TemplateName"/>
<prop oor:name="UIName">
<value>EPUB 3 [Writer2xhtml]</value>
</prop>
<prop oor:name="Flags"><value>EXPORT ALIEN 3RDPARTYFILTER</value></prop>
</node>
<node oor:name="org.openoffice.da.writer2xhtml.epub" oor:op="replace" oor:finalized="true" oor:mandatory="true">
<prop oor:name="FileFormatVersion"><value>0</value></prop>
<prop oor:name="Type"><value>writer_epub_File</value></prop>

View file

@ -51,6 +51,18 @@
<prop oor:name="ClipboardFormat"/>
</node>
<node oor:name="writer_epub3_File" oor:op="replace" oor:finalized="true" oor:mandatory="true">
<prop oor:name="DetectService"/>
<prop oor:name="URLPattern"/>
<prop oor:name="Extensions"><value>epub</value></prop>
<prop oor:name="MediaType"/>
<prop oor:name="Preferred"><value>false</value></prop>
<prop oor:name="UIName">
<value>EPUB 3</value>
</prop>
<prop oor:name="ClipboardFormat"/>
</node>
<node oor:name="writer_epub_File" oor:op="replace" oor:finalized="true" oor:mandatory="true">
<prop oor:name="DetectService"/>
<prop oor:name="URLPattern"/>