Попробуйте
pwsh -command "&.\psscript.ps1"
Если это требуется -
sudo pwsh -command "&.\psscript.ps1"
В вашем коде вы имеете дело с довольно низкоуровневым API. Хотя ваша задача довольно проста, и низкоуровневый API все еще здесь достаточен, с высокоуровневым API макета вы можете достичь цели намного быстрее.
Для начала вы можете повторно использовать свой код, чтобы создать PdfDocument
и определить URL-адрес для изображения SVG:
PdfDocument doc = new PdfDocument(new PdfWriter(new FileOutputStream(new File("D:\\test.pdf")),
new WriterProperties().setCompressionLevel(0)));
String svgPath = "...svgPathHere";
Затем, вместо немедленного рисования изображения SVG на странице, вы можно преобразовать его в объект Image
из API layout
, который вы можете настроить: масштабировать для соответствия определенным размерам, установить фиксированное положение (левая нижняя точка) и т. д .:
Image image = SvgConverter.convertToImage(new FileInputStream(svgPath), doc);
image.setFixedPosition(100, 200);
image.scaleToFit(300, 300);
Чтобы связать все вместе , создайте объект высокого уровня Document
и добавьте туда свое изображение. Не забудьте закрыть Document
экземпляр. Вам больше не нужно закрывать оригинал PdfDocument
:
Document layoutDoc = new Document(doc);
layoutDoc.add(image);
layoutDoc.close();