2021. december 22., szerda

Dimag - PowerShell

Remélem ezért nem leszek keresztre feszítve.

Szóval: Használom a Dimag-ot, előfizetéses elektronikus újságok olvasására, de nem szeretem. Az alkalmazás is a hozzáállás is csapnivaló.

Szeretem, ha az éveken évtizedeken keresztül olvasott szaklapok megvannak a gépemen pdf-ben. Ez amolyan gyűjtőszenvedély féle (biztos orvoshoz kéne fordulnom).

Persze a Dimag-ból kiszedni a dolgokat nem igazán lehet. Elvégre arra szántak rengeteg energiát, hogy a holnapi napot is titkosítsák, arra meg nullát, hogy egy értelmezhető felhasználói élményt nyújtsanak.

Arra jutottam, hogy képernyőfotóként lementem az oldalakat, majd ebből csinálok pdf-et.

Ennek az első része mechanikus, igényel némi rendszeres precizitást. Szóval:

  • Dimag Chrome-ban megnyit.
  • Bal oldali oldalankénti navigáció kikapcsol
  • Teljes képernyőre kirak (F11)

Így minden oldal, minden esetben ugyanoda kerül a képernyőn (az egyes oldalak középre, az oldalpárok két oldalra). A képeket egyes oldalnál <oldalszám>.jpg, oldalpárnál <páros oldal>-<páratlan oldal>.jpg néven mentem. Minden oldalszám szigorúan három számjegy.

Na eddig van a mechanikus munka (még gondolkozom, tudom-e tovább automatizálni). A lementett jpeg-ekre megy ez a PowerShell + ImageMagick script, és már kész is a friss ropogós pdf:

$srcfiles = Get-ChildItem "./*.jpg" | Sort-Object -Property Name
$dstlist = ''
foreach($jpg in $srcfiles) {
    if($jpg.Name -match '[0-9]{3}-[0-9]{3}\.jpg') {
        magick $jpg.Name -crop '1483x2081+436+7' "p$($jpg.Name.Substring(0,3)).jpg"
        $dstlist += "p" + $jpg.Name.Substring(0,3) + ".jpg "
        magick $jpg.Name -crop '1483x2081+1920+7' "p$($jpg.Name.Substring(4,3)).jpg"
        $dstlist += "p" + $jpg.Name.Substring(4,3) + ".jpg "
    }
    else {
        if($jpg.Name -match '[0-9]{3}\.jpg') {
            magick $jpg.Name -crop '1483x2081+1178+7' "p$($jpg.Name.Substring(0,3)).jpg"
            $dstlist += "p" + $jpg.Name.Substring(0,3) + ".jpg "
        }
    }
}
$dstlist += "result.pdf"
Start-Process -NoNewWindow -FilePath "magick.exe" -ArgumentList $dstlist -Wait
Remove-Item p*.jpg

A fenti kód az én 4K monitorommal működik. Más monitorhoz át kell írni a méreteket.

Továbbá:

  • Nem árulom el, melyik magazinnál használom.
  • A saját infrastruktúrám az elkészült pdf-ek nem hagyják el.
  • Amivel dolgozom, azt előfizettem, nincs benne semmi hack


Nincsenek megjegyzések:

Megjegyzés küldése

Megjegyzés: Megjegyzéseket csak a blog tagjai írhatnak a blogba.