helpf.pro
Регистрация
 0 
Распечатать

Печать в PDF

Столкнулся с вопросом печати счета на оплату сразу в pdf.
Решение: установка виртуального принтера bioPDF скачать можно тут. И прописывание в 1с следующего кода:
Код 1C v 8.х
 
Попытка
ПДФ_принтер = Новый COMОбъект("bioPDF.PDFPrinterSettings");
Исключение
#Если Клиент Тогда
Предупреждение("Не удалось подключиться к PDF-принтеру!", 60);
#КонецЕсли
Возврат;
КонецПопытки;
ПДФ_принтер_имя = ПДФ_принтер.GetPrinterName();
ИмяФайла = Константы.КаталогФайловПДФ.Получить() +"" + Заголовок + ".pdf";

ПДФ_принтер.SetValue("output", ИмяФайла);
ПДФ_принтер.SetValue("ConfirmOverwrite", "yes");
ПДФ_принтер.SetValue("ShowSaveAS", "never");
ПДФ_принтер.SetValue("ShowSettings", "never");
ПДФ_принтер.SetValue("ShowPDF", "no");
ПДФ_принтер.SetValue("Target", "printer");

ПДФ_принтер.SetValue("Subject", "Report generated at " + ТекущаяДата());
ПДФ_принтер.SetValue("UseThumbs", "yes");
ПДФ_принтер.SetValue("Zoom", "100");

ПДФ_принтер.SetValue("WatermarkFontSize", "10");
ПДФ_принтер.SetValue("WatermarkTransparency", "50");
ПДФ_принтер.SetValue("WatermarkVerticalPosition", "bottom");
ПДФ_принтер.SetValue("WatermarkHorizontalPosition", "right");
ПДФ_принтер.SetValue("WatermarkVerticalAdjustment", "3");
ПДФ_принтер.SetValue("WatermarkHorizontalAdjustment", "1");
ПДФ_принтер.SetValue("WatermarkRotation", "90");
ПДФ_принтер.SetValue("WatermarkColor", "#ff0000");
ПДФ_принтер.SetValue("WatermarkOutlineWidth", "1");
ПДФ_принтер.WriteSettings(True);

ПечатныйДокумент.ИмяПринтера = ПДФ_принтер_имя;
ПечатныйДокумент.АвтоМасштаб = Истина;
ПечатныйДокумент.Напечатать();


Как выяснилось во время печати в pdf есть проблема с передачей прозрачности картинки. Если вставлять прозрачную печать в счет поверх подписи, то в pdf-документе печать будет непрозрачной и затрет все собой. У меня был частный случай, когда печать находилась на одном и том же месте документа и за ней постоянно было одно и то же. Решением в данном случае стала генерация картинки печати с фоном, на котором она должна быть и вставка её в макет.

Так же решением может быть печать не в pdf а xps документ. Там с прозрачностью все нормально.
Автор: Андрей Данилюк

Экспорт печатных форм и любых данных из 1С в BMP, JPEG, PCX, PDF, PNG и TIFF.
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 25841
 0 
Распечатать
Возможно, вас также заинтересует
QR код в 1С 21
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог
Внешние обработки, печатные формы, обработки по заполнению табличных частей 3
Справочник «Внешние обработки, печатные формы, обработки по заполнению табличных частей» содержит список произвольных обработок, произвольных отчетов, дополнительных печатных форм, обработок для заполнения ТЧ объектов, обработок, подключаемых к отч
Выборка документа по номеру и вывод на Печать, в Табличный Документ 0
Процедура Печать() Если (ПустоеЗначение(ДатаНач)=1) или (ПустоеЗначение(ДатаКон)=1) Тогда Предупреждение(" Не задан период отчета" ); Возврат; КонецЕсли; Заг=" За период с " +ДатаНач+" по " +ДатаКон; Таб=СоздатьОбъект(" Таблица" ); Таб.Выв
Выбрать Остатки и Обороты по указанным счетам, отбор по субконто и выгрузка результата в EXCEL 0
Запрос=Новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Счет, | ХозрасчетныйОстаткиИОбороты.Субконто1, | ХозрасчетныйОстаткиИОбороты.Субконто2, | ХозрасчетныйОстаткиИОбороты.Субконто3, | ХозрасчетныйОстаткиИОбороты.Органи
Вывести справочник в таблицу, табличный документ 1
//Выведем весь справочник Номенклатура Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | Номенклатура.* |ИЗ | Справочник.Номенклатура КАК Номенклатура |" ; РезультатЗ = Запрос.Выполнить(); //Далее использовать функцию вывода Результата запрос
Посмотреть все результаты поиска похожих
Комментарии
hanio
12.10.2011 08:46Комментарий: 5
hanio
все сделал через Foxit Reader с отличным ключем /p, спасибо за содействие ))
E_Migachev
10.10.2011 16:15Комментарий: 4
E_Migachev
hanio, для adobe будет другой, ищи в документации к нему
hanio
10.10.2011 14:13Комментарий: 3
hanio
А есть такой же код как к bioPDF для Adobe Reader? или он аналогичен?
E_Migachev
29.09.2011 17:18Комментарий: 2
E_Migachev
hanio, проще всего использовать встроенные средства Adobe Readera:
Тихая печать (без открытия окон) - AcroRd32.exe /N /T PdfFile PrinterName [ PrinterDriver [ PrinterPort ] ]
или использовать [PDF Viewer] - Просмотр PDF в 1С - поищи в интернете

+ Другие параметры камандно строки:
Open a PDF file:
AcroRd32.exe PdfFile

Open a PDF file in a new instance of Adobe Reader:
AcroRd32.exe /N PdfFile

Open a PDF file at page 7:
AcroRd32.exe /A "page=7=OpenActions" PdfFile

Open a PDF file with navigation pane active, zoom out to 50%, and search for and highlight the word "batch":
AcroRd32.exe /A "zoom=50&navpanes=1=OpenActions&search=batch" PdfFile

Print a PDF file with dialog:
AcroRd32.exe /P PdfFile

Print a PDF file silently:
AcroRd32.exe /N /T PdfFile PrinterName [ PrinterDriver [ PrinterPort ] ]
hanio
29.09.2011 15:48Комментарий: 1
hanio
А если стоит задача из 1С открыть файл PDF сразу его напечатать и закрыть PDF?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.