1c: извлечение страницы из pdf документа
В настоящий момент в 1С нет встроенного средства для редактирования pdf документов, поэтому единственный выход — использовать внешние программы. Например — pdftk или ExtractPagePDF
Ниже пример реализации для ExtractPagePDF:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | функция ИзвлечьСтраницуPDF(имяфайла,страница) 	answer=новый Структура("error,result",false,""); 		// вариант с ExtractPDF 		ПутьКПрограммеИзвлечения = lsОбщегоНазначенияСервер.ПутьКПрограммеРаботыСPDFФайлами(); 		ИмяВременногоФайлаИзвлечения 	= ПолучитьИмяВременногоФайла("pdf"); 		КаталогИзвлечения 				= ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КаталогВременныхФайлов());			 		КодВозвратаКомпоненты = 1; 		ЗапуститьПриложение(ПутьКПрограммеИзвлечения + " 1 """ + имяфайла + """ """ + ИмяВременногоФайлаИзвлечения+""" "+Формат(страница,"ЧГ=0"), , Истина, КодВозвратаКомпоненты);			 		Если КодВозвратаКомпоненты <> 0 Тогда 				 				answer.error=true;       				answer.result="Не удалось извлечь файлы счетов! для л/с "; 				возврат answer; 		КонецЕсли;         answer.result=ИмяВременногоФайлаИзвлечения;	 		// вариант с pdftk			 		//ПутьКПрограммеИзвлечения = lsОбщегоНазначенияСервер.ПутьКПрограммеРаботыСPDFФайлами(); 		//ИмяВременногоФайлаИзвлечения 	= ПолучитьИмяВременногоФайла("pdf"); 		//КаталогИзвлечения 				= ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КаталогВременныхФайлов());			 		//КодВозвратаКомпоненты = 1;       		//страница=Формат(страница,"ЧГ=0"); 		//ЗапуститьПриложение(ПутьКПрограммеИзвлечения +" """+ имяфайла + """ cat "+страница+" """ + ИмяВременногоФайлаИзвлечения+"""", , Истина, КодВозвратаКомпоненты);			 		//Если КодВозвратаКомпоненты <> 0 Тогда 				 		//		answer.error=true;       		//		answer.result="Не удалось извлечь файлы счетов! для л/с "; 		//		возврат answer; 		//КонецЕсли; 		//answer.result=ИмяВременногоФайлаИзвлечения;	 	возврат answer; конецфункции |