AIClipBrd копирование через буфер в Adobe

Написал mendow в 11/02/2009 18:00:49

Эта тем являеться дополненем к макросу AIClipBrd от Alex Vakulenko

Проблема:
При копирование через буфер обмена из CorelDraw в формате PDF, копируются только те объекты которые находятся в приделах активной страницы.
Пример:

Если допустим объекты частично выходят за пределы страницы,то в PhotoShopе мы получаем часть объекта или вовсе пустую область.

или так, если объект вне страницы

плюс ко всему не нужное пространство по краям
Видемо это связано со спецификацией PDF...

Мое решение на уровне кода:

Цитата:
If bCopyPDF Then
'mendow start
'Назначаем документу милиметры
ActiveDocument.Unit = cdrMillimeter
Dim s1 As Shape
Set s1 = ActiveSelectionRange.Group
s1.AlignToPageCenter cdrAlignHCenter + cdrAlignVCenter, cdrTextAlignBoundingBox
'Получаем размер абриса выделеного + 1мм
ActiveDocument.MasterPage.SetSize s1.SizeWidth + 1, s1.SizeHeight + 1

'mendow end
nClipFmtPDF = RegisterClipboardFormat(PDFClipFormat)
sTempFilePDF = GetTempFile("pdf"
With ActiveDocument.PDFSettings
.BitmapCompression = pdfLZW
.ColorMode = pdfCMYK
.EmbedBaseFonts = False
.EmbedFonts = False
.FileInformation = False
.Hyperlinks = False
.IncludeBleed = False
.Linearize = True
.MaintainOPILinks = True
.Overprints = True
.pdfVersion = IIf(VersionMajor > 10, 3, 1) 'pdfVersion14 : pdfVersion13
.PublishRange = pdfSelection
.RegistrationMarks = False
.SpotColors = True
.Startup = pdfPageOnly
.SubsetFonts = False
.TextAsCurves = bTextToCurves
.Thumbnails = False
.UseColorProfile = False
End With
ActiveDocument.PublishToPDF sTempFilePDF

'mendow start отменяем действия преабразующие страницу и групперующие объекты
ActiveDocument.Undo
ActiveDocument.Undo
ActiveDocument.Undo
MsgBox ( "ok" )

'mendow end
End If


получаем объект без всякого лишнего в независимости от того из какой части был скопированы объекты.
Пример:

и в PhotoShope


файл скрипта с моими правками: AIClipBrd.zip

критика по коду от профи, ждеца и приветствуется.

Источник: https://powerclip.ru/modules/newbb/viewtopic.php?post_id=95487

Rambler's Top100