Skip to content

Commit 3d39785

Browse files
authored
196 fj doc mod openpdf ext handle document metadata (#197)
* [fj-doc-mod-fop] default creator set to 'Apache FOP over Fugerit Venus DOC' * handling doc-title, doc-subject, doc-author, doc-language, doc-creator [fj-doc-mod-openrtf-ext] handling doc-title, doc-subject, doc-author, doc-language, doc-creator #196 [fj-doc-mod-openpdf-ext] handling doc-title, doc-subject, doc-author, doc-language, doc-creator #196 [fj-doc-mod-openpdf-ext] default creator set to 'OpenPDF over Fugerit Venus DOC' #196 * Sonar issues
1 parent 41a8dc2 commit 3d39785

File tree

6 files changed

+53
-1
lines changed

6 files changed

+53
-1
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed
11+
12+
[fj-doc-mod-openrtf-ext] handling doc-title, doc-subject, doc-author, doc-language, doc-creator #196
13+
[fj-doc-mod-openpdf-ext] handling doc-title, doc-subject, doc-author, doc-language, doc-creator #196
14+
[fj-doc-mod-openpdf-ext] default creator set to 'OpenPDF over Fugerit Venus DOC' #196
15+
[fj-doc-mod-fop] default creator set to 'Apache FOP over Fugerit Venus DOC'
16+
1017
## [8.8.3] - 2024-09-11
1118

1219
### Fixed

fj-doc-mod-fop/src/main/resources/fj_doc_mod_fop_config/template/fop_doc.ftl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<#if (docBase.infoDocLanguage)??><dc:language><rdf:Bag><rdf:li>${docBase.infoDocLanguage}</rdf:li></rdf:Bag></dc:language></#if>
4848
</rdf:Description>
4949
<rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/">
50-
<xmp:CreatorTool><#if (docBase.infoDocCreator)??>${docBase.infoDocCreator}<#else>Apache FOP over Fugerit DOC</#if></xmp:CreatorTool>
50+
<xmp:CreatorTool><#if (docBase.infoDocCreator)??>${docBase.infoDocCreator}<#else>Apache FOP over Fugerit Venus DOC</#if></xmp:CreatorTool>
5151
</rdf:Description>
5252
</rdf:RDF>
5353
</x:xmpmeta>

fj-doc-mod-openpdf-ext/src/main/java/org/fugerit/java/doc/mod/openpdf/ext/HtmlTypeHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.fugerit.java.doc.base.config.DocTypeHandler;
1111
import org.fugerit.java.doc.base.config.DocTypeHandlerDefault;
1212
import org.fugerit.java.doc.base.model.DocBase;
13+
import org.fugerit.java.doc.mod.openpdf.ext.helpers.DocumentMetaHelper;
1314
import org.fugerit.java.doc.mod.openpdf.ext.helpers.OpenPDFConfigHelper;
1415
import org.fugerit.java.doc.mod.openpdf.ext.helpers.OpenPpfDocHandler;
1516
import org.w3c.dom.Element;
@@ -38,6 +39,7 @@ public void handle(DocInput docInput, DocOutput docOutput) throws Exception {
3839
ByteArrayOutputStream baos = new ByteArrayOutputStream();
3940
HtmlWriter.getInstance( document, baos );
4041
OpenPpfDocHandler handler = new OpenPpfDocHandler( document, DocConfig.TYPE_HTML );
42+
DocumentMetaHelper.handleDocMeta( document, docBase );
4143
handler.handleDoc( docBase );
4244
baos.writeTo( outputStream );
4345
baos.close();

fj-doc-mod-openpdf-ext/src/main/java/org/fugerit/java/doc/mod/openpdf/ext/PdfTypeHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.fugerit.java.doc.base.config.DocTypeHandler;
1111
import org.fugerit.java.doc.base.config.DocTypeHandlerDefault;
1212
import org.fugerit.java.doc.base.model.DocBase;
13+
import org.fugerit.java.doc.mod.openpdf.ext.helpers.DocumentMetaHelper;
1314
import org.fugerit.java.doc.mod.openpdf.ext.helpers.OpenPDFConfigHelper;
1415
import org.fugerit.java.doc.mod.openpdf.ext.helpers.OpenPpfDocHandler;
1516
import org.w3c.dom.Element;
@@ -57,6 +58,7 @@ public void handle(DocInput docInput, DocOutput docOutput) throws Exception {
5758
pdfWriter = PdfWriter.getInstance( document, baos );
5859
handler = new OpenPpfDocHandler(document, pdfWriter, totalPageCount );
5960
}
61+
DocumentMetaHelper.handleDocMeta( document, docBase );
6062
handler.handleDoc( docBase );
6163
baos.writeTo( outputStream );
6264
baos.close();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package org.fugerit.java.doc.mod.openpdf.ext.helpers;
2+
3+
import com.lowagie.text.Document;
4+
import org.fugerit.java.core.function.SafeFunction;
5+
import org.fugerit.java.core.function.UnsafeConsumer;
6+
import org.fugerit.java.doc.base.model.DocBase;
7+
import org.fugerit.java.doc.base.typehelper.generic.GenericConsts;
8+
9+
public class DocumentMetaHelper {
10+
11+
private DocumentMetaHelper() {}
12+
13+
public static final String CREATOR_DEFAULT = "OpenPDF over Fugerit Venus DOC";
14+
15+
private static void metaWorker(String property, UnsafeConsumer<String, Exception> fun ) {
16+
SafeFunction.applyIfNotNull( property, () -> fun.accept( property ) );
17+
}
18+
19+
public static void handleDocMeta(Document document, DocBase docBase) {
20+
// setup meta properties
21+
metaWorker(
22+
docBase.getStableInfo().getProperty(GenericConsts.INFO_KEY_DOC_TITLE),
23+
document::addTitle );
24+
metaWorker(
25+
docBase.getStableInfo().getProperty(GenericConsts.INFO_KEY_DOC_AUTHOR),
26+
document::addAuthor );
27+
metaWorker(
28+
docBase.getStableInfo().getProperty(GenericConsts.INFO_KEY_DOC_SUBJECT),
29+
document::addSubject );
30+
metaWorker(
31+
docBase.getStableInfo().getProperty(GenericConsts.INFO_KEY_DOC_LANGUAGE),
32+
document::setDocumentLanguage );
33+
metaWorker(
34+
docBase.getStableInfo().getProperty(GenericConsts.INFO_KEY_DOC_CREATOR, CREATOR_DEFAULT),
35+
document::addCreator );
36+
37+
}
38+
39+
}

fj-doc-mod-openrtf-ext/src/main/java/org/fugerit/java/doc/mod/openrtf/ext/RtfTypeHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.fugerit.java.doc.base.config.DocTypeHandler;
1111
import org.fugerit.java.doc.base.config.DocTypeHandlerDefault;
1212
import org.fugerit.java.doc.base.model.DocBase;
13+
import org.fugerit.java.doc.mod.openpdf.ext.helpers.DocumentMetaHelper;
1314
import org.fugerit.java.doc.mod.openpdf.ext.helpers.OpenPDFConfigHelper;
1415
import org.fugerit.java.doc.mod.openpdf.ext.helpers.OpenPpfDocHandler;
1516
import org.fugerit.java.doc.mod.openrtf.ext.helpers.OpenRtfDocHandler;
@@ -44,6 +45,7 @@ public void handle(DocInput docInput, DocOutput docOutput) throws Exception {
4445
ByteArrayOutputStream baos = new ByteArrayOutputStream();
4546
RtfWriter2 rtfWriter2 = RtfWriter2.getInstance( document, baos );
4647
OpenPpfDocHandler handler = new OpenRtfDocHandler( document, rtfWriter2 );
48+
DocumentMetaHelper.handleDocMeta( document, docBase );
4749
handler.handleDoc( docBase );
4850
baos.writeTo( outputStream );
4951
baos.close();

0 commit comments

Comments
 (0)