Да, таким образом переносятся все страницы. Тут я столкнулась с другим вопросом.
Выскакивает сообщение в новом окне, что Word преобразует pdf-файл в редактируемый формат и ожидается выбор действия от пользователя. Можно ли это окно как-то игнорировать программно? Еще выскакивало окно выбор преобразования формата, это окно игнорирую параметром ConfirmConversions = 0 при открытии документа.
Попробовала признаки Word.Application: DisplayAlerts и ShowStartupDialog. Не помогло.
Код:
INCLUDE ole2incl.
DATA: word TYPE ole2_object,
document TYPE ole2_object,
documents TYPE ole2_object,
selection TYPE ole2_object,
paragraphformat TYPE ole2_object,
font TYPE ole2_object,
header TYPE string.
START-OF-SELECTION.
CREATE OBJECT word 'Word.Application'.
SET PROPERTY OF word 'Visible' = 1.
* SET PROPERTY OF word 'ShowStartupDialog' = 0.
* SET PROPERTY OF word 'DisplayAlerts' = 0.
CALL METHOD OF word 'Documents' = documents.
CALL METHOD OF documents 'OPEN'
EXPORTING
#1 = 'D:\test.pdf'
#2 = 0
#12 = 0.
CALL METHOD OF word 'ActiveDocument' = document.
CALL METHOD OF word 'Selection' = selection.
CALL METHOD OF selection 'ParagraphFormat' = paragraphformat.
CALL METHOD OF selection 'Font' = font.
SET PROPERTY OF paragraphformat 'Alignment' = 1.
SET PROPERTY OF font 'Size' = 16.
SET PROPERTY OF font 'Bold' = 1.
MOVE 'ЗАГОЛОВОК' TO header.
CALL METHOD OF selection 'TypeText'
EXPORTING
#1 = header.
CALL METHOD OF document 'SaveAs2'
EXPORTING
#1 = 'D:\test_changed.pdf'
#2 = 17.
CALL METHOD OF document 'CLOSE'
EXPORTING
#1 = 0.
CALL METHOD OF word 'QUIT'.
John Doe написал:
Действительно, вставляет как объект...
Задача не тривиальная выходит, можно еще попробовать просто открыть PDF в Word, не на всех версиях будет работать, да и высокие требования к исходному файлу - со сканами беда получается.
Code:
INCLUDE ole2incl.
DATA: word TYPE ole2_object,
document TYPE ole2_object.
START-OF-SELECTION.
CREATE OBJECT word 'Word.Application'.
SET PROPERTY OF word 'Visible' = 1.
CALL METHOD OF word 'Documents' = document.
CALL METHOD OF document 'OPEN' EXPORTING #1 = 'C:\Temp\CMR.pdf'.