1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 23:28:06 +02:00

[api-minor] Add support for URLs in the document outline

Re: issue 5089.
(Note that since there are other outline features that we currently don't support, e.g. bold/italic text and custom colours, I thus think we can keep the referenced issue open.)
This commit is contained in:
Jonas Jenwald 2015-12-22 12:59:23 +01:00
parent e60fde73ca
commit 0030a82dc3
8 changed files with 67 additions and 20 deletions

View file

@ -10,6 +10,7 @@
!issue1155r.pdf
!issue2391-1.pdf
!issue2391-2.pdf
!issue3214.pdf
!issue4665.pdf
!issue5801.pdf
!issue5946.pdf

BIN
test/pdfs/issue3214.pdf Normal file

Binary file not shown.

View file

@ -371,11 +371,33 @@ describe('api', function() {
var promise = doc.getOutline();
waitsForPromiseResolved(promise, function(outline) {
// Two top level entries.
expect(outline instanceof Array).toEqual(true);
expect(outline.length).toEqual(2);
// Make sure some basic attributes are set.
expect(outline[1].title).toEqual('Chapter 1');
expect(outline[1].items.length).toEqual(1);
expect(outline[1].items[0].title).toEqual('Paragraph 1.1');
var outlineItem = outline[1];
expect(outlineItem.title).toEqual('Chapter 1');
expect(outlineItem.dest instanceof Array).toEqual(true);
expect(outlineItem.url).toEqual(null);
expect(outlineItem.items.length).toEqual(1);
expect(outlineItem.items[0].title).toEqual('Paragraph 1.1');
});
});
it('gets outline containing a url', function() {
var pdfUrl = combineUrl(window.location.href, '../pdfs/issue3214.pdf');
var loadingTask = PDFJS.getDocument(pdfUrl);
loadingTask.promise.then(function (pdfDocument) {
pdfDocument.getOutline().then(function (outline) {
expect(outline instanceof Array).toEqual(true);
expect(outline.length).toEqual(5);
var outlineItem = outline[2];
expect(outlineItem.dest).toEqual(null);
expect(outlineItem.url).toEqual('http://google.com');
loadingTask.destroy(); // Cleanup the worker.
});
});
});
it('gets metadata', function() {