Bastante um hack, mas sugiro que unzip
ping o arquivo .odt e trabalhe com XML bruto. O content.xml parece ser o arquivo correto para editar.
Eu preparei um arquivo de teste com conteúdo:
QQQQQ
-page break-
AAAAA
E aqui está a parte relevante do XML bruto:
<!---*lots* of declarations--->
<office:automatic-styles>
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:break-before="page"/>
</style:style>
</office:automatic-styles>
<office:body>
<office:text text:use-soft-page-breaks="true">
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
</text:sequence-decls>
<text:p text:style-name="Standard">QQQQQ</text:p>
<text:p text:style-name="P1">AAAAA</text:p>
</office:text>
</office:body>
<!---some happy-end--->
(O arquivo real provavelmente será mais complexo.) Parece-me que "P1" é um estilo criado para "suportar" a propriedade de quebra de página antes do parágrafo. Então, duas coisas me vêm à mente:
- remover "P1" de
<text:p />
tags - remover a propriedade de quebra de página do estilo "P1"
A propósito, aqui eu também recomendaria evitar regexes em favor de algum analisador XML real.