mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-24 09:08:07 +02:00
[Annotation] Add a div containing the text of a FreeText annotation (bug 1780375)
An annotation doesn't have to be in the text flow, hence it's likely a bad idea to insert its text in the text layer. But the text must be visible from a screen reader point of view so it must somewhere in the DOM. So with this patch, the text from a FreeText annotation is extracted and added in a div in its HTML counterpart, and with the patch #15237 the text should be visible and positioned relatively to the text flow.
This commit is contained in:
parent
159f853e06
commit
31155740c3
7 changed files with 178 additions and 20 deletions
|
@ -48,3 +48,13 @@
|
|||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.annotationLayer .annotationTextContent {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0.4;
|
||||
background-color: transparent;
|
||||
color: red;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
|
|
@ -4101,6 +4101,35 @@ describe("annotation", function () {
|
|||
OPS.endAnnotation,
|
||||
]);
|
||||
});
|
||||
|
||||
it("should extract the text from a FreeText annotation", async function () {
|
||||
partialEvaluator.xref = new XRefMock();
|
||||
const task = new WorkerTask("test FreeText text extraction");
|
||||
const freetextAnnotation = (
|
||||
await AnnotationFactory.printNewAnnotations(partialEvaluator, task, [
|
||||
{
|
||||
annotationType: AnnotationEditorType.FREETEXT,
|
||||
rect: [12, 34, 56, 78],
|
||||
rotation: 0,
|
||||
fontSize: 10,
|
||||
color: [0, 0, 0],
|
||||
value: "Hello PDF.js\nWorld !",
|
||||
},
|
||||
])
|
||||
)[0];
|
||||
|
||||
await freetextAnnotation.extractTextContent(partialEvaluator, task, [
|
||||
-Infinity,
|
||||
-Infinity,
|
||||
Infinity,
|
||||
Infinity,
|
||||
]);
|
||||
|
||||
expect(freetextAnnotation.data.textContent).toEqual([
|
||||
"Hello PDF.js",
|
||||
"World !",
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("InkAnnotation", function () {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue