You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "DerekLiu (JIRA)" <ji...@apache.org> on 2019/01/29 00:50:00 UTC

[jira] [Closed] (PDFBOX-4445) Need fix accessibility issue

     [ https://issues.apache.org/jira/browse/PDFBOX-4445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

DerekLiu closed PDFBOX-4445.
----------------------------
    Resolution: Fixed

> Need fix accessibility issue
> ----------------------------
>
>                 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