[ 
https://issues.apache.org/jira/browse/PDFBOX-5868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17874436#comment-17874436
 ] 

Manish S N edited comment on PDFBOX-5868 at 8/17/24 8:07 AM:
-------------------------------------------------------------

in most of these languages languages most of the letters are a combination of 
two letters (vowel + consonant). so in these cases there is a single glyph for 
a sequence two unicode characters.

eg:

in hindi:

*व् ( v ) + आ ( aa ) = वा (vaa)*

*आ* is converted to *ा*

*व् + ा = वा*

 

in tamil:

*ன் ( n ) +* *ஆ(aa) = னா (naa)* 

sometimes the combination adds a symbol _before_ the letter

*ச்(ch) +*  *எ(ae)* *= செ (che)* 

some other times it is in both sides

*ட்(t) +* *ஓ ( oo )*  *= டோ (too) ({_}oo{_} reads as in _oo_ in the word 
{_}door{_})*

 

so it makes sense to have another seperate glyph for combination of some of 
these unicode character sequences rather than rendering each of them side by 
side

guess it helps.

I'm studying your changes to the source code (why why there is another boolean 
firstactualtext and why you are removing hyphens and where you are setting 
unicode to empty string)

meanwhile I'll keep this issue posted about anything else i find and try


was (Author: JIRAUSER306563):
in most of these languages languages most of the letters are a combination of 
two letters (vowel + consonant). so in these cases there is a single glyph for 
a sequence two unicode characters.

eg:

in hindi:

*व् ( v ) + आ ( aa ) = वा (vaa)*

*आ* is converted to *ा*

*व् + ा = वा*

 

in tamil:

*ன் ( n ) +* *ஆ(aa) = னா (naa)* 

sometimes the combination adds a symbol _before_ the letter

*ச்(ch) +*  *எ(ae)* *= செ (che)* 

some other times it is in both sides

*ட்(t) +* {*}ஓ(oo){*}{*}{*} *= டோ (too) ({_}oo{_} reads as in _oo_ in the word 
{_}door{_})*

 

so it makes sense to have another seperate glyph for combination of some of 
these unicode character sequences rather than rendering each of them side by 
side

guess it helps.

I'm studying your changes to the source code (why why there is another boolean 
firstactualtext and why you are removing hyphens and where you are setting 
unicode to empty string)

meanwhile I'll keep this issue posted about anything else i find and try

> PDFBox not extracting text of non-latin languages(tamil, bengali) properly 
> but adobe reader's save as text does
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: PDFBOX-5868
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5868
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Text extraction
>    Affects Versions: 3.0.3 PDFBox
>         Environment: Ubuntu 22.04.4 LTS x86_64
>            Reporter: Manish S N
>            Priority: Major
>         Attachments: Main.java, Tilman's_solution_out.txt, adobe_out.txt, 
> multilingual_test.pdf, okular_out.txt, pdfbox_out.txt, poppler_out.txt, 
> screenshot-1.png, screenshot-2.png, suppressDuplicateOverlapping_out.txt
>
>
> I downloaded the latest executable jar of pdfbox (3.0.3) for testing and used 
> the export:text command line tool to obtain the results
>  * the multilingual_test.pdf is the original pdf i made to test multilingual 
> text extraction.
>  * the pdfbox_out.txt is the text file produced by pdfbox
>  * the adobe_out.txt is the text file created by adobe reader's save as text 
> feature
>  
> Observation:
> as you can see in the attachment the text file obtained by pdfbox shows weird 
> unicodes for tamil and bengali (for hindi the charecters are extracted but 
> not overlapped; japanese seems fine to me). in contrast the text file file 
> obtained from adobe reader's save as text feature seems fine and copy pasting 
> the text from my document viewer(evince) also works.
> Questions:
>  # why are the outputs from pdfbox and adobe different?
>  # what can i do to extract the text from a multilingual pdf correctly?
>  # Is there a way to apply pattern matching to text in pdf file and declare 
> matches without extracting the text first? (say if the problem is with fonts 
> and glyphs)
> —
> My Usecase fyi:
> i am trying to extract text from files and run pattern matching. I am using 
> apache tika for parsing documents. I noticed problem with extracted PDF text 
> (other filetypes parse fine). used executable pdfbox jar to conclude that the 
> _problem is in pdfbox and not in tika._ tested with adobe reader's extract 
> text to confirm the problem is not with the pdf. i  want to extract these 
> multilingual text to run pattern matching on them alone and do not need to 
> display the content but only if the pattern is present or not (say if the 
> problem is with fonts and glyphs)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to