31 lines
1.2 KiB
PowerShell
31 lines
1.2 KiB
PowerShell
# 生成 Postman 测试用 plm-pdf-demo.zip(与 manifest.json 中 pdfPath 一致)
|
||
$ErrorActionPreference = "Stop"
|
||
$root = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||
$staging = Join-Path $root "zip-staging"
|
||
$zipPath = Join-Path $root "plm-pdf-demo.zip"
|
||
|
||
$minimalPdf = @"
|
||
%PDF-1.4
|
||
1 0 obj<<>>endobj
|
||
trailer<<>>
|
||
%%EOF
|
||
"@
|
||
|
||
if (Test-Path $staging) { Remove-Item $staging -Recurse -Force }
|
||
New-Item -ItemType Directory -Path (Join-Path $staging "drawings") -Force | Out-Null
|
||
|
||
Set-Content -Path (Join-Path $staging "drawings\part-a.pdf") -Value $minimalPdf -Encoding ASCII -NoNewline
|
||
Set-Content -Path (Join-Path $staging "drawings\part-b.pdf") -Value $minimalPdf -Encoding ASCII -NoNewline
|
||
|
||
if (Test-Path $zipPath) { Remove-Item $zipPath -Force }
|
||
Compress-Archive -Path (Join-Path $staging "*") -DestinationPath $zipPath -Force
|
||
|
||
# 校验 zip 内路径(应为 drawings/part-a.pdf,不能只有 part-a.pdf 在根目录)
|
||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||
$zip = [System.IO.Compression.ZipFile]::OpenRead($zipPath)
|
||
Write-Host "已生成: $zipPath"
|
||
$zip.Entries | ForEach-Object { Write-Host " - $($_.FullName)" }
|
||
$zip.Dispose()
|
||
|
||
Remove-Item $staging -Recurse -Force
|