Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple Pages very basic scenario breaks (paragraph styles not reset) #2733

Open
YousefED opened this issue Oct 9, 2024 · 1 comment
Open

Comments

@YousefED
Copy link
Contributor

YousefED commented Oct 9, 2024

Code to reproduce:

const doc2 = new Document({
      sections: [
        {
          properties: {},
          children: [
            new Paragraph({
              children: [new TextRun("Hello World")],
            }),
            new Paragraph({
              children: [new TextRun("Heading")],
              heading: HeadingLevel.HEADING_1,
            }),
            new Paragraph({
              children: [new TextRun("Goodbye")],
            }),
          ],
        },
      ],
    });
[My Document.docx](https://github.com/user-attachments/files/17305065/My.Document.docx)

    const buffer = await Packer.toBuffer(doc2);
    fs.writeFileSync(__dirname + "/My Document.docx", buffer);

While opening the resulting doc in google docs works fine, in Apple pages the last paragraph will have a heading style applied:

image

docx file: My Document.docx

@sorrowe
Copy link

sorrowe commented Nov 14, 2024

I was also struggling with this today.

I compared it to a document without the issue by unzipping. The styles.xml in the working one had a section just under 'w:docDefaults':

<w:style w:type="paragraph" w:default="1" w:styleId="Normal">
    <w:name w:val="Normal" />
    <w:qFormat />
    <w:rPr>
        <w:rFonts w:ascii="Arial" w:hAnsi="Arial" />
    </w:rPr>
</w:style>

Copying that across and recompressing seemed to fix the issue. Presumably that could also be done using the xml based styling and subbing in a 'working' style sheet.

It looks like the default stylesheet created doesn't have an entry for the 'Normal' style. That may be the cause, or it could be the default="1" property.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants