Scribus Forums

Scribus => Beginner Talk => Topic started by: henrylaw on November 09, 2025, 07:56:19 PM

Title: Importing LO Writer text without over-writing existing styles
Post by: henrylaw on November 09, 2025, 07:56:19 PM
I am managing production of a newsletter which has contributions from various sources. All the contributions come in as Microsoft Word documents, and use a standard template with named styles, which allow the writers to see what their text will look like before they send it.

My job is to assemble all the copy into a Scribus document for publication.  I have a set of agreed paragraph styles which currently have the same name as those in the Word template.

I can import the copy by saving it as LibreOffice writer and then importing the resulting file.  That works well, but is a maintenance nightmare.  If I change the definition of a style within Scribus, which I occasionally do, then when the contributors' text is imported Scribus promptly replaces any changes I've made with the original formatting from the Word styles.  Sending out a new template to the Word users is difficult: they don't necessarily have the skill to install it properly; and I don't have MS Word anyway so I'd be trusting that a converted LO template would work correctly.

My current plan is to change the names of my Scribus styles, and then when each contribution is imported, using the existing style names, I can do a bulk change from a Word style names to my new Scribus style names. 

Yes, I know I can import just as plain text and then apply my own styles; that's laborious.  And I know I can import so as to give the imported styles a prefix relating to the name of the text box: I'd need to change each text box separately, and in a 24-page document that's tedious and error-prone.

Is there any better way?
Title: Re: Importing LO Writer text without over-writing existing styles
Post by: a.l.e on November 09, 2025, 09:44:04 PM
I think that, for now, the only good way to do that is by using a Python script inside of Scribus.

If you provide me with a bit more details, I think I should be able to create something that can generally be used for similar cases.

I think that -- as an example -- you might want to provide: