1

How do I make paragraphs that:

  • Have semitransparent area color (e.g. white)
  • Have padding around the text
  • Have visible background image from the page

The result should print like this document prints: Resulting image

Source ODT: https://cloud.prosa.dk/s/JcDJtBYr7BTFepi/download

The formatting in this document is built in a very wrong way (e.g. padding is done with no-break-spaces and with forced linebreaks in a small font size, indention of the bullet list is done with no-break-spaces, transparency only achieved by building part of the document in Microsoft Word and then reading the file in LibreWriter).

I want to know how to build a document that prints the same as this document (so on paper the result should be very similar to printing the above), but in which the formatting is done using conventional LibreWriter formatting tools (e.g. styles), so that changing the text would not require moving no-break-spaces around or other cascading changes in the following parts of the document. In other words: You should be able to insert a paragraph on page 1 without having to check the formatting on page 2-99.

Preferably with a step by step guide from a new, empty document and a .jpg file that should serve as the background image.

Background

I have been using LibreOffice since it was called StarOffice, so I am not a new user. I have typeset a book in LibreOffice, so I know some of the more advanced features that normal users will never get to.

So I had actually assumed it would be easy to make a document with a background image, with text on top that had paragraphs with semitransparent background and 0,5 cm padding around each paragraph. I assumed I could even define a few styles, so another user could alter the text and add paragraphs without having to fiddle too much with formatting (e.g. avoiding using no-break-space to generate padding).

But it turned out to be much harder: The transparency using Area in paragraph formatting would not allow for seeing a background image through, I found no way to do padding around a paragraph.

So if you think this is easy to do, you will either discover (like I did) that this is not easy, or you know a few tricks in LibreOffice that I do not know, and I therefore ask you to please show how you do this.

  • It appears there's a picture sized to fill the sheet in a layer behind the text, then the text paragraph style is set for 50% transparency. – fixer1234 Aug 8 at 20:39
  • Can you clarify the specific thing you're asking about? "I want to know the right way to do this" -- what is "this"? Are you referring to the graphics aspect? What you think is non-standard text formatting? The image and transparency is totally separate from the text formatting. That's just the two items in my earlier comment. If the document author used non-standard text formatting (or did some stuff manually that could be done using built-in features), we don't know why they may have done that (cont'd) – fixer1234 Aug 9 at 7:06
  • (maybe they didn't know how to do it right, needed to tweak the built-in results, etc.). But the text formatting has nothing to do with the graphics. – fixer1234 Aug 9 at 7:06
  • @fixer1234 I have updated the Q. Does it make it more clear what I am looking for? – Ole Tange Aug 9 at 7:43
  • I initially thought this was a sample document you saw somewhere and wanted to duplicate. Closer examination indicates it is probably your own attempt. You'll always get a better response if you're explicit about what the actual problem is, like before/after images to spotlight the problem. This is also overly broad for the intended scope of a question. A question should focus on one specific issue rather than ask for a tutorial on how to create every feature of a document (just ask a separate question for each issue). That said, some thoughts to get you started. (cont'd) – fixer1234 Aug 9 at 20:41
0

A different crappy solution is:

  • Set the image as background image
  • Use a text box for each paragraph
  • Create a white rectangle that is semitransparent. This will work as Area with padding.
  • Arrange the rectangle so it is behind the text box

Drawbacks:

  • You need to create a text box every time you create a new paragraph
  • You need to create a rectangle for each text box
  • The rectangle does not automatically adjust to fit if lines in the text box are added/removed
  • Styles cannot be used in text boxes

These drawbacks make it very labour intensive if addition/removal of lines of the text require text to be moved to/from the following page.

It is, however, an improvement as you do not need Microsoft Office to get the semitransparency.

  • This should be part of the question rather than an answer. – fixer1234 Aug 12 at 0:22
  • @fixer1234 No, because this actually answers the question. It is better than the work-around (since it does not involve using Microsoft Office), but I hope there are better ways to get the same effect. Maybe the reason why you think this should be part of the question is that you do not understand the question? If so, then hopefully knowing that this answer actually answers the question can help you understand the question. – Ole Tange Aug 12 at 5:43
0

Make page background visible through semitransparent paragraph area

First we need to have BackgroundParaOverDrawings=true. This is the key to allow paragraph styles to show background through a semitransparent area.

  1. New document
  2. Save as > trans.fodt
  3. Edit the .fodt-file in an editor
  4. Search for 'UseFormerObjectPositioning'
  5. Insert:

    <config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">true</config:config-item>
    
  6. Save trans.fodt

(If you find a way to set this using the GUI please answer LibreWriter: Setting the BackgroundParaOverDrawings config value).

Now backgrounds in paragraph styles can show the page background through the area. And if you do not want a 0.5cm padding around the text in the paragraph (but simply want the background visible through the area), then you are done.

Right side padding

Right side padding is done by putting a long rectangle that spans the right side and forces text to wrap on the left side. The rectangle is put in a header, so it is on all pages.

  1. Open trans.fodt in LibreWriter
  2. Insert > Header and Footer > Header > Default Style
  3. Draw a rectangle at the right side all the way down the page. Make sure the anchor is in the header.
  4. Right click > Wrap > Edit > Settings > Before
  5. Right click > Area > None
  6. Right click > Line > Line Properties > Style > None

Left side padding

Left side padding is done by indenting first line by a negative amount (0.5cm) and adding a tabstop at 0cm:

  1. Styles > Edit style >
  2. -> Indents & Spacing > First line > -0.5cm
  3. -> Indents & Spacing > Spacing > Below paragraph > 0.2cm
  4. -> Area > Color > White
  5. -> Transparency > Area Transparency Mode > Transparency > 50%
  6. -> Tabs > Position > 0cm > New (this may not be needed - it seems to be default)

Do the same style for any heading styles used.

Top and bottom padding

Padding above and below a paragraph is done by a paragraph style "Pad" with a font size of 1 with the same settings as above.

Normal use

Then write your text using normal formatting - except:

  • Paragraphs always start with a tab
  • Headings cannot start with a tab, so first insert a no-break-space followed by tab: CTRL-SHIFT-space TAB
  • Before and after paragraphs there are paragraphs of style "Pad".

Finally insert the background image

  1. Move cursor to header if you want the same background image on all pages
  2. Insert Image
  3. Right click > Wrap > In Background

Benefits

  • By using styles there is no need to mess around with rectangles for each page or for each paragraph, and the style will be consistent all through the document.
  • You can choose to use the Pad style and get break between paragraphs or you can choose to have some paragraphs be kept together in the same "box".
  • Adding and removing text will not cause a lot of work (like adding no-break-space for each line or adjusting sizes of rectangles). This is especially useful if the text spans multiple pages where an edit could cause a cascade of changes on multiple pages.

Drawbacks

  • It is a lot of setup. Luckily it only has to be done once. Then the formatting can be reused.
  • You still need to do a little adjusting (Starting tabs for each paragraph, padding paragraph before and after each paragraph) This fixup can probably be automated using the Alternative Search-plugin.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.