Add pictures in manifest.xml to fix corrupted file
This commit is contained in:
parent
c15ef66e77
commit
118ae457dd
@ -11,7 +11,7 @@ lockdown();
|
|||||||
|
|
||||||
|
|
||||||
/** @import {Reader, ZipWriterAddDataOptions} from '@zip.js/zip.js' */
|
/** @import {Reader, ZipWriterAddDataOptions} from '@zip.js/zip.js' */
|
||||||
/** @import {ODFManifest} from '../manifest.js' */
|
/** @import {ODFManifest, ODFManifestFileEntry} from '../manifest.js' */
|
||||||
/** @import {OdfjsImage} from '../../types.js' */
|
/** @import {OdfjsImage} from '../../types.js' */
|
||||||
|
|
||||||
/** @typedef {ArrayBuffer} ODTFile */
|
/** @typedef {ArrayBuffer} ODTFile */
|
||||||
@ -66,6 +66,8 @@ export default async function fillOdtTemplate(odtTemplate, data) {
|
|||||||
|
|
||||||
/** @type {{filename: string, content: Reader, options?: ZipWriterAddDataOptions}[]} */
|
/** @type {{filename: string, content: Reader, options?: ZipWriterAddDataOptions}[]} */
|
||||||
const zipEntriesToAdd = []
|
const zipEntriesToAdd = []
|
||||||
|
/** @type {ODFManifestFileEntry[]} */
|
||||||
|
const newManifestEntries = []
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return href
|
* Return href
|
||||||
@ -74,11 +76,10 @@ export default async function fillOdtTemplate(odtTemplate, data) {
|
|||||||
*/
|
*/
|
||||||
function addImageToOdtFile(odfjsImage) {
|
function addImageToOdtFile(odfjsImage) {
|
||||||
// console.log({odfjsImage})
|
// console.log({odfjsImage})
|
||||||
const fileName = `Pictures/${odfjsImage.fileName}`
|
const filename = `Pictures/${odfjsImage.fileName}`
|
||||||
zipEntriesToAdd.push({content: new Uint8ArrayReader(new Uint8Array(odfjsImage.content)), filename: fileName})
|
zipEntriesToAdd.push({content: new Uint8ArrayReader(new Uint8Array(odfjsImage.content)), filename})
|
||||||
return fileName
|
newManifestEntries.push({fullPath: filename, mediaType: odfjsImage.mediaType})
|
||||||
|
return filename
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parcourir chaque entrée du fichier ODT
|
// Parcourir chaque entrée du fichier ODT
|
||||||
@ -156,6 +157,9 @@ export default async function fillOdtTemplate(odtTemplate, data) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(const {fullPath, mediaType} of newManifestEntries){
|
||||||
|
manifestFileData.fileEntries.set(fullPath, {fullPath, mediaType})
|
||||||
|
}
|
||||||
|
|
||||||
for(const {filename, content, options} of zipEntriesToAdd) {
|
for(const {filename, content, options} of zipEntriesToAdd) {
|
||||||
await writer.add(filename, content, options);
|
await writer.add(filename, content, options);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user