Рисую страницу на принтере. Сложность в том, что надо на всю страницу напечатать сначала фоновый рисунок, а потом поверх напечатать текст.
Это нужно для печати документов с "водяными" знаками.
Пробовал такие способы:
Способ 1
1. Нарисовал фон с помощью Printer.PaintPicture
2. Поверх напечатал текст с помощью Printer.Print
В результате текст поверх фона печатается, но текст не прозрачный, а каждый символ затирает картинку белыми квадратиками

При этом проверил, что Printer.FontTransparent = True
Способ 2
1. В PictureBox нарисовал фон с помощью PaintPicture.
2. В этом же PictureBox напечатал поверх фона текст с помощью Print.
3. На экране выглядить всё идеально как надо! Текст поверх фона без белых квадратиков.
4. Всё содержимое PictureBox закинул на принтер так: Printer.PaintPicture PictireBox.Image, 0,0
В результате на принтере вышло всё как надо (тоже без белых квадратиков), но там, где фона нет - вокруг символов текста "мусор" (муар)... ну такие точечки бледные. Получается распечатка как на ксероксе.
При этом поэкспериментировал со свойством принтера PrintQuality, ничего не помогло, у него это свойство вообще никак не меняет. Пробовал разные принтеры... всё одинаково.
Способ 3
1. Напечатал на принтере сначала текст с помощью Printer.Print
2. Поверх текста решил наложить фоновую картинку с помощью PaintPicture.
В результате картинка полностью затирает текст!

Попробовал все варианты параметра Opcode (это параметр метода PaintPicture), там вроде как есть и прозрачные заливки и объединение... но ничего не помогло. Картинка затирает текст.
Помогите! Как принтер из VB заставить нормально напечатать текст поверх фона?