Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Создание PDF в Powershell

Ответить
Настройки темы
PowerShell - Создание PDF в Powershell

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6614
Благодарности: 1523


Конфигурация

Профиль | Отправить PM | Цитировать


Есть ли у вас опыт сабжа?
Интересует личный опыт, т. к. гуглить я и так неплохо умею.

Хотелось бы именно создавать PDF прямо в командной строке (типа export-csv), а не конвертировать из другого формата, не печатать в файл.
Типа, подгрузить какую-нибудь библиотеку dll и работать через неё.

Чем удобнее пользоваться, у чего синтаксис попроще?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 15:00, 15-03-2020

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
(типа export-csv), а не конвертировать из другого формата »
export-csv сохраняет в "другом формате" встроенные сущности PoSh

А что вы собираетесь подавать на вход гипотетической export-pdf?

Отправлено: 16:15, 15-03-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6614
Благодарности: 1523

Профиль | Отправить PM | Цитировать


Типа, формировать документы, которые новые юзеры должны подписывать.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 10:16, 16-03-2020 | #3


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


DJ Mogarych, браузер умеет печатать в пдф

https://lifehacker.ru/kak-sokhranit-...renijj-chrome/

и это автоматизируется
https://developers.google.com/web/tools/puppeteer?hl=ru
https://github.com/checkly/puppeteer-examples#pdf
но встречал обсуждения что это нельзя использовать в коммерческих целях
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:25, 16-03-2020 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Коль народ пока особо ничего не предлагает — я таки, «загуглив», спрошу. Эту рекомендацию: Creating PDF files using PowerShell - TechNet Articles - United States (English) - TechNet Wiki видели-пробовали?
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:29, 16-03-2020 | #5


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1208
Благодарности: 504

Профиль | Отправить PM | Цитировать


Цитата Serguei Kouzmine:
браузер умеет печатать в пдф »
Если уж печатать, то есть ведь в десятке "Microsoft Print to PDF"
Да, для автоматизации не очень, конечно, ибо необходимо указывать файл, но есть способ обхода...
https://community.idera.com/database...-to-pdf-part-1
https://community.idera.com/database...-to-pdf-part-2
https://community.idera.com/database...-to-pdf-part-3
https://community.idera.com/database...-to-pdf-part-4

Цитата Iska:
Коль народ пока особо ничего не предлагает »
Не то, чтобы предложений нет, но было условие:
Цитата DJ Mogarych:
Интересует личный опыт, т. к. гуглить я и так неплохо умею. »
Поэтому и предложить, наверное, нечего... из личного опыта именно.
А по гуглю, это первая же ссылка... думаю, что на примете она точно есть у DJ Mogarych

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:47, 16-03-2020 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


YuS_2, так что думаю — вдруг её и выберет, опробует, и опосля здесь опытом и поделится, не?

Отправлено: 21:22, 16-03-2020 | #7


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6614
Благодарности: 1523

Профиль | Отправить PM | Цитировать


Цитата Serguei Kouzmine:
встречал обсуждения что это нельзя использовать в коммерческих целях »
Интересно, автоматизация всякой рутины внутри отдела - это коммерческие цели?
Цитата Iska:
видели-пробовали? »
Да, видел и пробовал, пока это самое простое и очевидное решение. Правда, я пока не понял, как сделать так, чтобы картинки масштабировались каждая по-разному, а не все вместе скопом, но я особо не закапывался туда пока.
Цитата YuS_2:
но есть способ обхода »
Посмотрю, спасибо!
Цитата Iska:
опосля здесь опытом и поделится »
Видимо, так и будет, если не плюну на это дело.

Я-то надеялся, что будет что-то попроще, чтобы не писать километр кода, но похоже, этого не избежать.

Есть вот такая библиотека - pdfsharp.dll, вон у неё сколько всякого понакручено, а документация куцая и устаревшая.
Код: Выделить весь код
Add-Type -Path "C:\temp\pdf\PdfSharp.dll"
([appdomain]::CurrentDomain.GetAssemblies() |? location -match 'PdfSharp.dll').gettypes() > C:\temp\pdf\pdfsharp-types.txt
вывод, очень много не влезло в сообщение, обрезал чуть ли не больше половины

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
False False Config System.Object
False False Const System.Object
False False NamespaceDoc System.Object
True True PageOrientation System.Enum
True True PageSize System.Enum
False True PSMsgID System.Enum
True False PageSizeConverter System.Object
True False PdfSharpException System.Exception
True False ProductVersionInfo System.Object
False False PSSR System.Object
False False VersionInfo System.Object
False True SharpZipBaseException System.ApplicationException
True True UseZip64 System.Enum
True True CompressionMethod System.Enum
True True EncryptionAlgorithm System.Enum
True True GeneralBitFlags System.Enum
False False ZipConstants System.Object
False False ZipException PdfSharp.SharpZipLib.SharpZipBaseException
False False Deflater System.Object
False False DeflaterConstants System.Object
False True DeflateStrategy System.Enum
False False DeflaterEngine PdfSharp.SharpZipLib.Zip.Compression.DeflaterCon...
False False DeflaterHuffman System.Object
False False DeflaterPending PdfSharp.SharpZipLib.Zip.Compression.PendingBuffer
False False Inflater System.Object
False False InflaterDynHeader System.Object
False False InflaterHuffmanTree System.Object
False False PendingBuffer System.Object
False False DeflaterOutputStream System.IO.Stream
False False InflaterInputBuffer System.Object
False False InflaterInputStream System.IO.Stream
False False OutputWindow System.Object
False False StreamManipulator System.Object
False False Adler32 System.Object
False False Crc32 System.Object
False False IChecksum
False True KeyType System.Enum
False False KeyInfoAttribute System.Attribute
False True DocumentState System.Enum
True True PdfFlateEncodeMode System.Enum
True True PdfUseFlateDecoderForJpegImages System.Enum
True True PdfColorMode System.Enum
True True PdfCustomValueCompressionMode System.Enum
True True PdfFontEmbedding System.Enum
True True PdfFontEncoding System.Enum
True True PdfPageDestinationType System.Enum
True True PdfOutlineStyle System.Enum
True True PdfPageLayout System.Enum
True True PdfPageMode System.Enum
True True PdfReadingDirection System.Enum
True True PdfTextStringEncoding System.Enum
True False KeysBase System.Object
False False KeyDescriptor System.Object
False False DictionaryMeta System.Object
True False PdfArray PdfSharp.Pdf.PdfObject
True False PdfBoolean PdfSharp.Pdf.PdfItem
True False PdfBooleanObject PdfSharp.Pdf.PdfObject
True False PdfCustomValue PdfSharp.Pdf.PdfDictionary
True False PdfCustomValues PdfSharp.Pdf.PdfDictionary
True False PdfDate PdfSharp.Pdf.PdfItem
True True VCF System.Enum
True False PdfDictionary PdfSharp.Pdf.PdfObject
True False PdfDocument PdfSharp.Pdf.PdfObject
True False PdfDocumentInformation PdfSharp.Pdf.PdfDictionary
True False PdfDocumentOptions System.Object
True False PdfDocumentSettings System.Object
True False PdfInteger PdfSharp.Pdf.PdfNumber
True False PdfIntegerObject PdfSharp.Pdf.PdfNumberObject
True False PdfItem System.Object
True False PdfLiteral PdfSharp.Pdf.PdfItem
True False PdfName PdfSharp.Pdf.PdfItem
True False PdfNameObject PdfSharp.Pdf.PdfObject
True False PdfNull PdfSharp.Pdf.PdfItem
True False PdfNullObject PdfSharp.Pdf.PdfObject
True False PdfNumber PdfSharp.Pdf.PdfItem
True False PdfNumberObject PdfSharp.Pdf.PdfObject
True False PdfObject PdfSharp.Pdf.PdfItem
True False PdfObjectID System.ValueType
True False PdfOutline PdfSharp.Pdf.PdfDictionary
True False PdfOutlineCollection PdfSharp.Pdf.PdfObject
True False PdfPage PdfSharp.Pdf.PdfDictionary
True False PdfPages PdfSharp.Pdf.PdfDictionary
True False PdfReal PdfSharp.Pdf.PdfNumber
True False PdfRealObject PdfSharp.Pdf.PdfNumberObject
True False PdfRectangle PdfSharp.Pdf.PdfItem
False False PdfReferenceTable_old System.Object
True True PdfStringEncoding System.Enum
False True PdfStringFlags System.Enum
True False PdfString PdfSharp.Pdf.PdfItem
True False PdfStringObject PdfSharp.Pdf.PdfObject
True False PdfUInteger PdfSharp.Pdf.PdfNumber
True False PdfUIntegerObject PdfSharp.Pdf.PdfNumberObject
True False PdfViewerPreferences PdfSharp.Pdf.PdfDictionary
True False TrimMargins System.Object
True True PdfDocumentSecurityLevel System.Enum
False True PdfUserAccessPermission System.Enum
True False PdfSecurityHandler PdfSharp.Pdf.PdfDictionary
True False PdfSecuritySettings System.Object
True False PdfStandardSecurityHandler PdfSharp.Pdf.Security.PdfSecurityHandler
True False Chars System.Object
True True PasswordValidity System.Enum
True True PdfDocumentOpenMode System.Enum
True True PdfWriterLayout System.Enum
False True PdfWriterOptions System.Enum
True True Symbol System.Enum
True False Lexer System.Object
False False Parser System.Object
False False StreamHelper System.Object
True False PdfPasswordProviderArgs System.Object
True True PdfPasswordProvider System.MulticastDelegate
True False PdfReader System.Object
True False PdfReaderException PdfSharp.PdfSharpException
False False PdfWriter System.Object
False False ShiftStack System.Object
True False AnsiEncoding System.Text.Encoding
False False ColorSpaceHelper System.Object
False False PdfDiagnostics System.Object
False False DocEncoding System.Text.Encoding
False False PdfEncoders System.Object
True False RawEncoding System.Text.Encoding
False False RawUnicodeEncoding System.Text.Encoding
False False ThreadLocalStorage System.Object
True False Ascii85Decode PdfSharp.Pdf.Filters.Filter
True False AsciiHexDecode PdfSharp.Pdf.Filters.Filter
True False FilterParms System.Object
True False Filter System.Object
True False Filtering System.Object
True False FlateDecode PdfSharp.Pdf.Filters.Filter
True False LzwDecode PdfSharp.Pdf.Filters.Filter
False False Chars System.Object
True False CLexer System.Object
True False ContentReader System.Object
True False ContentReaderException PdfSharp.PdfSharpException
False False ContentWriter System.Object
True False CParser System.Object
True True CSymbol System.Enum
True False CObject System.Object
True False CComment PdfSharp.Pdf.Content.Objects.CObject
True False CSequence PdfSharp.Pdf.Content.Objects.CObject
True False CNumber PdfSharp.Pdf.Content.Objects.CObject
True False CInteger PdfSharp.Pdf.Content.Objects.CNumber
True False CReal PdfSharp.Pdf.Content.Objects.CNumber
True True CStringType System.Enum
True False CString PdfSharp.Pdf.Content.Objects.CObject
True False CName PdfSharp.Pdf.Content.Objects.CObject
True False CArray PdfSharp.Pdf.Content.Objects.CSequence
True False COperator PdfSharp.Pdf.Content.Objects.CObject
True True OpCodeFlags System.Enum
True True OpCodeName System.Enum
True False OpCode System.Object
True False OpCodes System.Object
True True PdfAnnotationFlags System.Enum
True True PdfRubberStampAnnotationIcon System.Enum
True True PdfTextAnnotationIcon System.Enum
True False PdfAnnotation PdfSharp.Pdf.PdfDictionary
True False PdfAnnotations PdfSharp.Pdf.PdfArray
False False PdfGenericAnnotation PdfSharp.Pdf.Annotations.PdfAnnotation
True False PdfLinkAnnotation PdfSharp.Pdf.Annotations.PdfAnnotation
True False PdfRubberStampAnnotation PdfSharp.Pdf.Annotations.PdfAnnotation
True False PdfTextAnnotation PdfSharp.Pdf.Annotations.PdfAnnotation
False False PdfWidgetAnnotation PdfSharp.Pdf.Annotations.PdfAnnotation
False False IContentStream
True False PdfCatalog PdfSharp.Pdf.PdfDictionary
False False PdfCIDFont PdfSharp.Pdf.Advanced.PdfFont
True False PdfContent PdfSharp.Pdf.PdfDictionary
True False PdfContents PdfSharp.Pdf.PdfArray
False False PdfCrossReferenceStream PdfSharp.Pdf.Advanced.PdfTrailer
False False PdfCrossReferenceTable System.Object
True False PdfDictionaryWithContentStream PdfSharp.Pdf.PdfDictionary
True False PdfExtGState PdfSharp.Pdf.PdfDictionary
True False PdfExtGStateTable PdfSharp.Pdf.Advanced.PdfResourceTable
True False PdfFont PdfSharp.Pdf.PdfDictionary
False True PdfFontDescriptorFlags System.Enum
True False PdfFontDescriptor PdfSharp.Pdf.PdfDictionary
False True FontType System.Enum
False False PdfFontTable PdfSharp.Pdf.Advanced.PdfResourceTable
True False PdfFormXObject PdfSharp.Pdf.Advanced.PdfXObject
False False PdfFormXObjectTable PdfSharp.Pdf.Advanced.PdfResourceTable
True False PdfGroupAttributes PdfSharp.Pdf.PdfDictionary
True False PdfImage PdfSharp.Pdf.Advanced.PdfXObject
False False MonochromeMask System.Object
False False BitReader System.Object
False False BitWriter System.Object
False False PdfImageTable PdfSharp.Pdf.Advanced.PdfResourceTable
False False PdfImportedObjectTable System.Object
True False PdfInternals System.Object
True False PdfObjectInternals System.Object
True False PdfObjectStream PdfSharp.Pdf.PdfDictionary
False False PdfPageInheritableObjects PdfSharp.Pdf.PdfDictionary
True False PdfReference PdfSharp.Pdf.PdfItem
False False PdfResourceMap PdfSharp.Pdf.PdfDictionary
True False PdfResources PdfSharp.Pdf.PdfDictionary
True False PdfResourceTable System.Object
True False PdfShading PdfSharp.Pdf.PdfDictionary
True False PdfShadingPattern PdfSharp.Pdf.Advanced.PdfDictionaryWithContentSt...
True False PdfSoftMask PdfSharp.Pdf.PdfDictionary
True False PdfTilingPattern PdfSharp.Pdf.Advanced.PdfDictionaryWithContentSt...
False False PdfToUnicodeMap PdfSharp.Pdf.PdfDictionary
False False PdfTrailer PdfSharp.Pdf.PdfDictionary
True False PdfTransparencyGroupAttributes PdfSharp.Pdf.Advanced.PdfGroupAttributes
False False PdfTrueTypeFont PdfSharp.Pdf.Advanced.PdfFont
False False PdfType0Font PdfSharp.Pdf.Advanced.PdfFont
True False PdfXObject PdfSharp.Pdf.PdfDictionary
True True PdfNamedActionNames System.Enum
True False PdfGoToAction PdfSharp.Pdf.Actions.PdfAction
True False PdfAction PdfSharp.Pdf.PdfDictionary
True True PdfAcroFieldFlags System.Enum
True False PdfAcroField PdfSharp.Pdf.PdfDictionary
True False PdfAcroForm PdfSharp.Pdf.PdfDictionary
True False PdfButtonField PdfSharp.Pdf.AcroForms.PdfAcroField
True False PdfCheckBoxField PdfSharp.Pdf.AcroForms.PdfButtonField
True False PdfChoiceField PdfSharp.Pdf.AcroForms.PdfAcroField
True False PdfComboBoxField PdfSharp.Pdf.AcroForms.PdfChoiceField
True False PdfGenericField PdfSharp.Pdf.AcroForms.PdfAcroField
True False PdfListBoxField PdfSharp.Pdf.AcroForms.PdfChoiceField
True False PdfPushButtonField PdfSharp.Pdf.AcroForms.PdfButtonField
True False PdfRadioButtonField PdfSharp.Pdf.AcroForms.PdfButtonField
True False PdfSignatureField PdfSharp.Pdf.AcroForms.PdfAcroField
True False PdfTextField PdfSharp.Pdf.AcroForms.PdfAcroField
False False CMapInfo System.Object
False False FontResolvingOptions System.Object
False False PlatformFontResolverInfo PdfSharp.Fonts.FontResolverInfo
True False PlatformFontResolver System.Object
True False FontResolverInfo System.Object
True False IFontResolver
True False GlobalFontSettings System.Object
False False FontDescriptorCache System.Object
False False FontFactory System.Object
False False FontWriter System.Object
False True FontTechnology System.Enum
False False TableTagNames System.Object
False False FontDescriptor System.Object
False False GlyphDataTable PdfSharp.Fonts.OpenType.OpenTypeFontTable
False False OpenTypeFontfaceCache System.Object
False False GlyphTypefaceCache System.Object
False False IndexToLocationTable PdfSharp.Fonts.OpenType.OpenTypeFontTable
False False IRefFontTable PdfSharp.Fonts.OpenType.OpenTypeFontTable
False False OpenTypeDescriptor PdfSharp.Fonts.OpenType.FontDescriptor
False False OpenTypeFontface System.Object
False False OpenTypeFontTable System.Object
False True PlatformId System.Enum
False True WinEncodingId System.Enum

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:12, 16-03-2020 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


DJ Mogarych, из «попроще» будет разве что, при наличии Microsoft Office, формировать документ/рабочую книгу с последующим сохранением его/её в pdf (в новых версиях Office) или печать на pdf-принтер (если таковое будет возможным без интерактивного запроса имени конечного файла).

Цитата DJ Mogarych:
Правда, я пока не понял, как сделать так, чтобы картинки масштабировались каждая по-разному, а не все вместе скопом, но я особо не закапывался туда пока. »
Ну, в коде wrapper'а в самой статье точно ошибка:
Код: Выделить весь код
# Add an image to the document, optionally scaled
function Add-Image([iTextSharp.text.Document]$Document, [string]$File, [int32]$Scale = 100)
{
    [iTextSharp.text.Image]$img = [iTextSharp.text.Image]::GetInstance($File)
    $img.ScalePercent(50)
    $Document.Add($img)
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:36, 16-03-2020 | #9


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1208
Благодарности: 504

Профиль | Отправить PM | Цитировать


Цитата Iska:
$img.ScalePercent(50) »
Только тут не цифру, наверное, надо, а параметр?

-------
scio me nihil scire. Ѫ


Отправлено: 10:41, 17-03-2020 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Создание PDF в Powershell

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - Powershell GUI и создание пользователей в AD Charg Скриптовые языки администрирования Windows 17 14-01-2019 14:55
Создание и просмотр гиперссылок в PDF stuermer01 Хочу все знать 10 09-07-2017 22:17
PowerShell - Создание зеркального тома в Powershell sacredboy Скриптовые языки администрирования Windows 3 22-03-2017 09:55
PowerShell - Создание динамического скрипта для PowerShell AZABAZA Скриптовые языки администрирования Windows 1 18-11-2015 13:52
PowerShell - [решено] Создание собственного массива объектов powershell 2.0 dosperados Скриптовые языки администрирования Windows 2 01-07-2015 11:25




 
Переход