GNU bug report logs - #73530
[PATCH] Add imenu index function for Djvu files in doc-view

Previous Next

Package: emacs;

Reported by: Visuwesh <visuweshm <at> gmail.com>

Date: Sat, 28 Sep 2024 15:12:02 UTC

Severity: wishlist

Tags: patch

Done: Tassilo Horn <tsdh <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Visuwesh <visuweshm <at> gmail.com>
To: Tassilo Horn <tsdh <at> gnu.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, "Jose A. Ortega Ruiz" <jao <at> gnu.org>, 73530 <at> debbugs.gnu.org
Subject: bug#73530: [PATCH] Add imenu index function for Djvu files in doc-view
Date: Thu, 03 Oct 2024 16:40:29 +0530
[வியாழன் அக்டோபர் 03, 2024] Tassilo Horn wrote:

> Tassilo Horn <tsdh <at> gnu.org> writes:
>
> Hi again,
>
>>> The PDF generated by LaTeX can have a wildly different outline than
>>> matched by doc-view's regexp:
>>>
>>>     % mutool show test.pdf outline
>>>     |	"Text"	#nameddest=section.1
>>>     |	"Annotations"	#nameddest=section.2
>>>
>>> Compare it with:
>>>
>>>     % mutool show atkins_physical_chemistry.pdf outline
>>>     |	"Cover"	#page=1&view=Fit
>>>     |	"PREFACE"	#page=7&view=Fit
>>>     |	"USING THE BOOK"	#page=8&view=Fit
>>
>> Ok, I see.  All my LaTeX PDFs have #nameddest=section.x values instead
>> of #page=X values, so that's the reason they don't work.  It would be
>> good if we could mention that it won't work because there are no page
>> references in the outline in the error message.
>
> Would you mind doing that in a new version of the patch?
>
> And I wonder if it mutool could spit out page references in addition to
> the nameddest references.  Do you know if there's a technical limitation
> or if it's just not implemented?

Unfortunately, I have no idea.  I actually don't use doc-view for PDF
files, only for docx and DjVu.

> Sadly, their communication platform seems to be Discord where I didn't
> want to register an account to ask.  They seem to use the ghostscript
> bugzilla, so one could create a ticket there...  If nobody else here in
> the discussion already has an account there, I wouldn't mind creating
> ony myself and asking.

If I cannot find anything in the man page, I can ask in their Discord.
I do have an account lying around, I can at least put it to good use.

Can this be done in another patch later on?  I am not sure if I will get
the time soon to follow up on this part of the problem.  It would be
cleaner if we open another bug report to track this too.

>>>> For DjVu, my sample size is 1, and that's a presentation, so at least
>>>> here I'm not sure if there should be an index available...
>>>
>>> I will send the link to the DjVu file that I wrote the feature for
>>> off-list.  I will send a link to a PDF file too.
>>
>> Thanks, will try with those two files.
>
> I did so now and it is blazingly fast for those 80+mb PDF/DjVu files
> even on my almost 10 years old laptop, so I'd say your simpler approach
> is the right choice.
>
>>> On this note, should we use doc-view-pdfdraw-program in place of
>>> mutool in doc-view--pdf-outline?
>>
>> Yes, but only if the older names pdfdraw and mudraw already had the
>> "show <file> outline" feature.
>
> I revert the "but only if" part.  If mupdf is old and comes with, e.g.,
> the pdfdraw executable, chances are almost zero that mutool is
> installed, too.  And if it is, then we should prefer it anywhere.  So I
> think the way to go is to (executable-find "mutool") in
> doc-view-pdfdraw-program first so that it takes precedence and use
> doc-view-pdfdraw-program in doc-view--pdf-outline.

OK, I will post a patch if you're okay with opening another bug report
for the nameddest PDF thingy.

>>>> Well, I actually have no strong opinion here.  Technically, I like
>>>> your approach better because of its simplicity.  I would like to test
>>>> with some larger documents to see how long index building takes,
>>>> though.
>>>
>>> I tried the function with a large PDF file:
>>
>> Will try with the large two you've linked later.
>
> As said above, it's more than fast enough, so let's take your approach.

Great, thank you for taking the time to test the patch.




This bug report was last modified 228 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.