How do you search and replace page breaks in Libre Office Writer? For example, I may want to remove all manually inserted page breaks (^m in MS Word). I can search for line breaks and paragraph breaks using regular expressions, but I don't see a page break character anywhere.
Quite a hack, but I'd suggest
unzipping the .odt file and working with raw XML. The content.xml seems to be the correct file to edit.
I have prepared a test file with content:
QQQQQ -page break- AAAAA
And here is the relevant part of the raw XML:
<!---*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--->
(The real file will proably be more complex.) It seems to me that "P1" is a style created to "bear" the property of page-breaking before the paragraph. So two things come into my mind:
- remove "P1" from
- remove the page-breaking property from "P1" style
By the way, here I'd also recommend avoiding regexes in favor of some real XML parser.
I'm, not sure if it supports this, but I'd look at OOoPy.
OOoPy: Modify OpenOffice.org documents in Python
Although not exactly what you ask for, I’ve got pretty close (using the Find & Replace function and paragraph formatting) because I had a similar problem. I realised that page-breaks actually aren’t special characters but part of paragraph formatting/style of the succeeding paragraph (or in very rare cases of the preceding one – in which case this method would need to be slightly modified).
If you happen to have the page-breaks always after specifically formatted text, you can search for that places by:
- Edit > Find & Replace... (Ctrl + H)
- Open Other options
- Click Format...
- Select specific formatting that singles out the specific paragraphs from all other text in the document
- Tick Incuding Styles (after closing the Text format (Search) window)
- Click Find All and close the Find & Replace window
- Format > Pragraph...
- on Text Flow untick Breaks > Insert (or if it isn't ticked, first tick it, apply, and repeat this step)
I wonder why Text Flow > Breaks section is greyed out in the Text format (Search), it would be much more precise if it could be searched for directly :-/
Howto delete a 'manual page break' outoff a 'writer' docment? Well, when you look at the internet, there is hardly anything what handles a batch removal for pagebreaks. Say a 50 odd or more. The solution is very simple. You save the .doc file as an .xml file. Reopen the .xml file with 'writer' and there you are, all pagebreaks are gone. Don't ask me how.