Добавьте и удалите фирменный бланк в документе Word

Наша компания имеет бумагу фирменного бланка (предварительно распечатанная бумага с нашим логотипом на нем). Каждый раз, когда мы отсылаем что-то почтой, мы печатаем ее на той бумаге. Однако, когда мы отправляем тот же документ по электронной почте, мы преобразовываем его в файл PDF.

Теперь проблема: при преобразовании документа Word PDF это должно содержать фирменный бланк. При печати того же документа о бумаге это не должно (или иначе фирменный бланк был бы распечатан дважды).

В настоящее время мы используем два различных шаблонов документов Word - один с фирменным бланком, один без. Таким образом каждый раз, когда мы хотим добавить или удалить фирменный бланк, мы должны создать новый документ с другим шаблоном и копию и вставить все. Противное решение. То, что я ищу, является некоторым простым способом включить и выключить фирменный бланк.

Что я попробовал до сих пор:

  • Переключение шаблона: кажется, нет простого способа переключить шаблон для существующего документа.
  • Используя водяной знак изображения: Наш фирменный бланк переходит полностью к границе страницы. (Никакой принтер не поддерживает это, конечно, но это хорошо для экспорта в PDF.), По-видимому, в зависимости от текущего принтера по умолчанию, Word не позволит безграничный водяной знак, вместо этого смещая изображение вокруг.
  • Используя верхний колонтитул страницы: При редактировании верхнего колонтитула страницы я могу вставить изображения в произвольных положениях, который является большим. Однако я не мог найти, что путь (за исключением макросов) позволил/запретил просто изображения в заголовке. (Текст должен остаться там.)
0
задан 04.05.2010, 11:26

2 ответа

Будучи разработчиком программного обеспечения, я наконец пошел для решения для программирования и разработал пользовательскую ленту Word в C#.

Я понимаю, что это не удовлетворяющий ответ для неразработчиков, но к сожалению, я не могу присоединить плагин к этому сообщению. Однако, если у Вас есть доступ к программисту, это должно запустить его:

private static void ShowHeaderImages(bool show) {
  foreach (Section section in WordDoc.Sections) {
    foreach (HeaderFooter header in section.Headers) {
      foreach (Shape shape in header.Shapes) {
        bool isGraphic =
          shape.Type == MsoShapeType.msoPicture ||
          shape.Type == MsoShapeType.msoLinkedOLEObject;
        if (isGraphic) {
          shape.Visible = show ? MsoTriState.msoTrue : MsoTriState.msoFalse;
        }
      }
    }
  }
}

Обратите внимание, что, в то время как это - код C#, он мог тривиально быть преобразован в макрос VBA.

0
ответ дан 24.11.2019, 12:32

Вы могли попытаться экспериментировать с условным текстом в заголовке на основе свойства документа как категория. При вводе "PDF" в категорию, заголовок будет распечатан при стирании его, заголовок исчезает.

Попробуйте этот простой пример:

{IF {DOCPROPERTY Category}="PDF" "This is the header text..." ""}

Я не уверен, как извлечь название принтера, используемое во время фазы печати, но по крайней мере это могло упростить вещи.

1
ответ дан 24.11.2019, 12:32

Теги

Похожие вопросы