You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Tilman Hausherr (JIRA)" <ji...@apache.org> on 2019/01/29 04:51:00 UTC
[jira] [Updated] (PDFBOX-4445) Language and Viewer Preferences are
not properly merged
[ https://issues.apache.org/jira/browse/PDFBOX-4445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tilman Hausherr updated PDFBOX-4445:
------------------------------------
Summary: Language and Viewer Preferences are not properly merged (was: Need fix accessibility issue)
> Language and Viewer Preferences are not properly merged
> -------------------------------------------------------
>
> Key: PDFBOX-4445
> URL: https://issues.apache.org/jira/browse/PDFBOX-4445
> Project: PDFBox
> Issue Type: Bug
> Components: Utilities
> Affects Versions: 2.0.13, 3.0.0 PDFBox
> Reporter: DerekLiu
> Assignee: Tilman Hausherr
> Priority: Major
> Fix For: 2.0.14, 3.0.0 PDFBox
>
>
> Using Adobe Acrobat Pro DC to check the accessibility issue, it reported that:
> Primary language Failed Text language is specified
> Title Failed Document title is showing in title bar
> So we may need change the code to support it pass, could you please fix this?
> {code}
> .../java/org/apache/pdfbox/multipdf/PDFMergerUtility.java | 15 +++++++++++++++
> .../main/java/org/apache/pdfbox/pdfparser/COSParser.java | 3 +++
> 2 files changed, 18 insertions(+)
> diff --git a/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java b/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
> index b0474f2b9..be01d32c9 100644
> --- a/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
> +++ b/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
> @@ -72,6 +72,7 @@ import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocume
> import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
> import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
> import org.apache.pdfbox.pdmodel.interactive.form.PDField;
> +import org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences;
>
> /**
> * This class will take a list of pdf documents and merge them, saving the
> @@ -422,12 +423,26 @@ public class PDFMergerUtility
> }
> tobeclosed.add(sourceDoc);
> appendDocument(destination, sourceDoc);
> +
> + if ( destinationDocumentInformation == null && sourceDoc.getDocumentInformation() != null ) {
> + destinationDocumentInformation = sourceDoc.getDocumentInformation();
> + destination.getDocumentCatalog().setLanguage( sourceDoc.getDocumentCatalog().getLanguage() );
> + }
> }
>
> // optionally set meta data
> if (destinationDocumentInformation != null)
> {
> destination.setDocumentInformation(destinationDocumentInformation);
> + if ( destinationDocumentInformation.getTitle() != null ) {
> + if ( destination.getDocumentCatalog().getViewerPreferences() == null ) {
> + destination.getDocumentCatalog().setViewerPreferences( new PDViewerPreferences( new COSDictionary() ) );
> + }
> + destination.getDocumentCatalog().getViewerPreferences().setDisplayDocTitle( true );
> + }
> + if ( destinationDocumentInformation.getCOSObject().getString( COSName.LANG ) != null ) {
> + destination.getDocumentCatalog().setLanguage( destinationDocumentInformation.getCOSObject().getString( COSName.LANG ) );
> + }
> }
> if (destinationMetadata != null)
> {
> diff --git a/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java b/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
> index 8ca955ed2..b2b28b258 100644
> --- a/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
> +++ b/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
> @@ -721,6 +721,9 @@ public class COSParser extends BaseParser
> }
> }
>
> + if( fileOffset == null ) {
> + continue;
> + }
> List<COSObject> stmObjects = objToBeParsed.get(fileOffset);
> if (stmObjects == null)
> {
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org