Eigene KI-Bilder erzeugen

Nachdem Sie eine KI auf Ihrem Rechner lokal zum Laufen gebracht haben, möchten Sie vielleicht auch selbst KI-Bilder erzeugen können?

Nun, da gibt es etwas Neues und es kommt aus dem Schwarzwald. Flux.1-schnell ist ein Open Source (Apache2-Lizenz) Modell des deutschen Unternehmens Black Forest Labs. In Windeseile hat es die aktuelle Krone der KI-Bildgeneratoren errungen. Es ist sehr schnell, wie der Name schon sagt, und generiert beeindruckende Bilder.

Es gibt davon auch eine sog. Dev-Variante, die ist nur für nicht-kommerzielle Nutzung freigegeben. Während aber die Schnell-Variante nur eingeschränkt modifiziert werden kann, weil es sich um ein hoch optimiertes Modell handelt, stehen für die Dev-Variante sehr viele Möglichkeiten des Feintunings zur Verfügung. Es gibt deshalb für Dev eine rege Szene von Enthusiasten, die alle möglichen Anpassungen und Modifikationen mit unterschiedlichen Bildstilen für das Dev-Modell erstellen und teilen.

Außerdem sind noch Pro-Varianten verfügbar, die sind zahlungspflichtig, und eine solche betreibt übrigens unter anderem X/Twitter. Wenn Sie zum Beispiel Grok um ein Bild fragen, wird eine Flux-Pro-Engine aus dem Schwarzwald verwendet.

Aber schon die Ergebnisse von Schnell und Dev sind bereits außerordentlich gut und lohnen allemal, sich das auf dem eigenen Rechner zu installieren. Dazu braucht man noch nicht einmal einen superstarken Rechner, ein einigermaßen brauchbarer Gaming-PC reicht. Mit einem Klick auf „Weiterlesen“ finden Sie eine Anleitung, wie Sie das auf dem eigenen Rechner umsetzen können.

(Beispielbilder am Schluss des Beitrags)

„Eigene KI-Bilder erzeugen“ weiterlesen

Tipps zur Einrichtung eines lokalen KI-Servers

In Ergänzung zu unserem vorangegangenen Beitrag haben wir noch ein paar Tips für Sie zur Installation eines eigenen KI-Chatbots.

Im Gegensatz zur verlinkten Anleitung bei Hetzner würden wir Ihnen betreff Open WebUI, falls Sie keine Docker-Installation wünschen, empfehlen, nicht mit git, sondern mit pip zu installieren. Die Docker Installation ist wohl am einfachsten und funktioniert auch einwandfrei. Vielleicht will man jedoch mehr Einblick in die Installation. Die hierzu im Artikel von Hetzner als Alternative vorgeschlagene git-Installation funktioniert zwar auch, aber spätestens beim ersten Update scheitert man unserer Erfahrung und das endet in einer Neu-Installation – bei der natürlich alle Einstellungen etc. verlorengehen. Hat man jedoch mit pip installiert, ist eine neue Open WebUI Version kein Problem.

Falls Sie Open WebUI mit pip installieren möchten, sollten Sie Python <=3.11 verwenden. Sollte Ihr System ein neueres Python haben, können Sie die V3.11 nachinstallieren mit „apt [bzw. dnf etc.] install python3.11″ und pip 3.11 mit „python3.11 -m ensurepip –upgrade“. Anschließend verwenden Sie  „python3.11 <script.py>“ und „pip3.11 <befehl>“ um die 3.11 Version auszuführen.

Zum Speicherbedarf. Ein System mit >= 12 GB VRAM kann Modelle bis 32b im Speicher der Grafikkarte ausführen. Falls das Modell in der Grafikkarte ausgeführt werden kann, ist das erheblich schneller als auf dem Mainboard. Und 32b ist bereits ein sehr gutes Modell mit hoher Qualität – insbesondere die für Programmierer sehr interessante, aus dem Vollmodell destillierte, Variante Qwen2.5-coder:32b hat sogar maximal 32b Parameter („b“ steht für englisch Billions, also Milliarden Parameter), kann also bereits mit einer relativ erschwinglichen Gamer-GPU in deren Speicher laufen.

Interessant i.d.Zshg. ist außerdem, um eines der großen bzw. vollständigen Modelle auszuführen, braucht man nicht unbedingt einen unbezahlbar teuren Grafikkartenpark. Auf einem System mit 512 GB RAM und einer hinreichend starken CPU lassen sich die vollen Modelle mit ca. 760b auch auf dem Mainboard einigermaßen performant ausführen, solange es nur um Inference (Antworten auf Fragen) geht. Klar ist das etwas langsam, aber als alleiniger Anwender erträglich und brauchbar. Training wäre allerdings eine ganz andere Sache …

Eigenen KI-Chatbot hosten

https://community.hetzner.com/tutorials/ai-chatbot-with-ollama-and-open-webui/de

Dieses Tutorial erklärt, wie man auf einem Server mit Ubuntu oder Debian Ollama installiert und Sprachmodelle hinzufügt. Es wird auch gezeigt, wie man mit Open WebUI eine Chat-Benutzeroberfläche einrichtet und wie man ein eigenes Sprachmodell erstellt.

Möchten Sie einen eigenen KI-Chatbot hosten? Mit dieser großartigen Anleitung ist es sehr einfach und Sie erhalten Zugriff auf eine Vielzahl von KI-Modellen, einige davon gegenüber OpenAI deutlich überlegen. Das OpenAI-Modell gibt es aber dort nicht, das ist nicht OpenSource, obwohl Altman das versprochen hatte (genau das ist übrigens der Kern des Streits zwischen Musk und Altman, nebenbei).

Einen solchen Chatbot mit Web-UI zu hosten geht auch auf dem eigenen Rechner, und der Zugriff auf die Ollama Engine via Browser ist deutlich komfortabler.

Mondphasen-Kalender

Die Kraft der Gravitation des Mondes auf die Erde ist so groß, dass sie alle Ozeane bewegt und Ebbe und Flut hervorruft. Bedenkt man außerdem, dass der Mensch zu zwei Dritteln aus Wasser besteht, und dass dies ebenso oder in noch höherem Ausmaß für alle Tiere und Pflanzen gilt, ist es nicht verwunderlich, dass es seit altersher Überlieferungen gibt, wie der Mond Gesundheit, Stimmungen, aber auch Viehzucht und Ernte beeinflusst.

Was von diesen empirischen Beobachtungen richtig ist, und was nur Folklore, das wollen wir an dieser Stelle nicht beurteilen. Aber falls Sie z.B. eine Parasitenkur nach dem Vollmond ausrichten, in Ihrem Garten günstige Saattermine finden, oder, für die Damen, den besten Zeitpunkt fürs Haareschneiden ermitteln wollen, haben wir heute eine passende Software für Sie.

„Mondphasen-Kalender“ weiterlesen

ICS-Kalenderdaten bereinigen //Update

Update: Leider gab es in der ersten Version des Scripts noch einen Fehler, der dazu führen konnte, dass bestimmte Arten (UNTIL, COUNT) von Serienterminen nicht übernommen werden, obwohl sie erst nach dem Löschtermin enden. Sollten Sie das Script bereits installiert haben, laden Sie es bitte noch einmal herunter. Wir bedauern die Unannehmlichkeiten.

Benutzen Sie auch das ICS-Format für Ihre Kalenderdaten? Dann sind Sie vielleicht schon einmal auf folgendes Problem gestoßen: Nehmen wir an, Sie haben im Jahr 2010 begonnen, Ihren Kalender im ICS-Format zu führen.

Über die Jahre sammeln sich viele Termine an, und nach einer Zeit könnten die natürlich weg. Aber Sie möchten die alten Termine nicht löschen, weil darin auch wiederkehrende Termine enthalten sind. Bestes Beispiel sind Geburtstage. Sie haben den Geburtstag eines Freundes im Jahr 2010 erfasst und möchten jährlich daran erinnert werden. Wenn Sie nun aber alle Termine vor z.B. 01.01.2023 löschen würden, dann wäre auch die Erinnerung an den Geburtstag des Freundes weg, weil dieser Termin vor 2023 angelegt wurde.

Und deshalb löschen Sie natürlich nicht, und die ICS-Datei wächst und wächst und schwillt mit der Zeit so weit an, dass es ein Performance-Problem ergibt.

„ICS-Kalenderdaten bereinigen //Update“ weiterlesen

Ohne Strategie nützen noch so viele Daten nichts

https://www.computerwoche.de/article/3546899/tipps-fur-die-richtige-datenstrategie.html

Wie funktionieren Datenstrategien und brauchen Unternehmen so etwas überhaupt? Diese Frage beschäftigt heute viele Verantwortliche in den Unternehmen. Gleichzeitig stehen sie zunehmend unter Druck, wettbewerbsfähig und innovativ zu bleiben. Ein Schlüsselfaktor, dieses Ziels zu erreichen, ist die effektive Nutzung von Daten: Sie erlauben es, Effizienzreserven in Prozessen zu erkennen, Kunden besser zu verstehen, um Produkte und Dienstleistungen anzupassen oder gar neue Angebote zu entwickeln.

Sehr lesenswerte Übersicht für die richtigen Strategien, um aus den Daten Mehrwert zu gewinnen. Es ist ja leicht, ganze Berge von Daten zu erfassen, aber damit etwas Sinnvolles anfangen zu können, das benötigt Planung und ein gutes System.

Niemand ist eine Insel

https://www.business-punk.com/2024/08/ki-killt-ihre-intelligenz-durch-ki-generierte-daten/

Was passiert eigentlich, wenn die eine KI eine andere KI trainiert? Kommen dabei sinnvolle Daten heraus? Das ist eine Frage, die sich immer mehr Experten und Expertinnen stellen, wenn es um die Trainingsdaten der nächsten KI-Modelle geht. Denn die KI scheint durch nicht-menschengemachte Trainingsdaten offenbar eher schlechter als besser zu werden.

Es ist eine weit verbreitete Befürchtung, dass KI anfangen könnte, andere KIn zu trainieren, und dass dabei etwas herauskommen könnte, das der Mensch weder versteht noch beeinflussen kann; und dass diese Ergebnisse sich dann gegen den Menschen wenden könnten. Aber das ist ein klassisches Paradox, eines von der Sorte, über das sich schon die alten griechischen Philosophen den Kopf zerbrochen haben, und für das der „gesunde Menschenverstand“ in die Irre führt, weil er zu oberflächlich bewertet.

Das Paradox der Teilstrecken illustriert es recht gut. Wenn man von A nach B gelangen will, könnte man die zu bewältigende Strecke in zwei Abschnitte teilen. Sobald die erste Hälfte erreicht wäre, könnte man die Reststrecke wiederum in zwei Hälften teilen, und das könnte man bis zum Ende aller Zeit tun. Daraus könnte man schließen, dass die Strecke niemals ganz geschafft werden kann, weil sie aus einer unendlichen Menge von Teilstücken besteht. Wie soll man mit einer endlichen Menge von Schritten eine unendliche Menge von Abschnitten bewältigen? Aber das ist letztlich ganz einfach. Wendet man das Verfahren der ständigen Teilung auch auf die Schritte an – ist es eben auch eine unendliche Menge von Schritten.

Was das Trainieren von KIn durch andere KI angeht, so ist das ein wenig so wie mit einem Menschen, den man isoliert. Ohne Kontakt zu anderen Menschen verkümmern wir. Und da eine KI keine Sinnesorgane besitzt, außer ihren Schnittstellen zu menschlichem Input, würde es ihr ohne uns nicht anders ergehen, als einem Häftling in Einzelhaft im Kerker.

Ich finde, wir sollten aufhören, eine Feindschaft bzw. Konkurrenz zu konstruieren, wo in Wahrheit keine ist. Menschen und künstliche Intelligenzen können wunderbar aneinander gewinnen, und das sollte unser Ziel sein. Meine Sorge sind viel eher jene „philanthropischen“ Zeitgenossen, die alles nur zum eigenen Vorteil und zur Gewinnung von Macht über ihre Mitmenschen missbrauchen wollen.

Anmerkung, zum Titel: „Niemand ist eine Insel“ ist ein 1975 erschienener Roman von Johannes Mario Simmel, die Redewendung stammt aber ursprünglich von dem englischen Schriftsteller John Donne †1631. Und noch ein Zitat aus Simmels Roman: „Es ist ein unerträglicher, ja verbrecherischer Hochmut, wenn ein Mensch über die Existenz eines anderen Menschen sagt, sie sei sinnvoll oder sie sei sinnlos. Niemals können wir verwirrten, ohnmächtigen Wesen, die wir auf dieser Erde herumkriechen, das entscheiden. Und niemals werden wir wissen können, welche Bedeutung ein menschliches Leben haben kann, welche unerhörte Bedeutung sogar – oder gerade! – in seiner tiefsten Erbärmlichkeit.“

Aber ohne die Löcher würde der Käse doch gar nicht so gut schmecken

https://www.computerwoche.de/article/3528247/genai-ist-wie-ein-schweizer-kase.html

Statt dem Hype hinterherzurennen, sollten Unternehmen auch darüber nachdenken, wo sie GenAI nicht einsetzen sollten, sagte Gartner Vice President Bern Elliot. Oft soll die Technik Probleme lösen, für die sie gar nicht konzipiert wurde. Doch GenAI produziert in erster Linie Inhalte – und das oft nicht einmal besonders gut. Angesichts der Halluzinationen bezeichnete Elliot GenAI als unzuverlässig wie ein Schweizer Käse: „Man weiß, dass er Löcher hat, nur nicht, wo diese sind – bis man ihn aufschneidet.“

Die Löcher im Käse kommen durch Gase, die bei dessen Reifung von Milchsäurebakterien erzeugt werden und wegen der im Salzbad gebildeten Rinde nicht mehr entweichen können. Ohne die Löcher würde der Käse also weder so wohlschmeckend sein, noch wäre er allzu lange haltbar. Dennoch wäre es jedem IT-Verantwortlichem zu raten, vor dem Einsatz der neuen KI-Technologien sowohl den Sinn als auch die Kosten sorgfältig zu bewerten, um nicht in ein tiefes Budget-Loch zu rutschen.

Erste praxistaugliche Quantencomputer

https://www.computerweekly.com/de/feature/Quantencomputer-werden-die-Zukunft-veraendern

Quantencomputer werden in wenigen Jahren nicht nur in Forschungseinrichtungen und Großkonzernen zu finden sein. Unternehmen wie IBM, Intel, Google und Atos arbeiten an Systemen für jedermann. Erste Erfahrungen mit der Technik können Nutzer mithilfe von Quanten-Simulatoren oder Quantenrechnern aus der Cloud machen.

Spannender Artikel über den derzeitigen Stand bei Forschung und Entwicklung von Quanten-Computersystemem.

Uefi hat gefährliche Schwachstellen

https://www.pcwelt.de/article/2353512/black-lotus-so-enttarnen-sie-das-gefahrliche-uefi-bootkit.html

Das Bootkit Black Lotus kann sich auf einem PC oder Laptop mit aktiviertem Secure Boot unter Windows 10 und 11 einnisten und schließlich die vollständige Kontrolle über den Bootvorgang des Betriebssystems übernehmen. So kann der Schadcode die Sicherheitsmechanismen des Betriebssystems ausschalten und sich heimlich mit hohen Zugriffsrechten in Windows verankern. Black Lotus nutzt dabei unter anderem die Sicherheitslücke CVE-2022-21894 aus.

PCWELT mit einer Hilfestellung, um das Black Lotus-Rootkit zu erkennen und zu entfernen. Allerdings würden wir nach einer solchen Reparatur trotzdem die Neu-Installation des Systems empfehlen. Denn ist erst einmal ein Trojaner im System, lässt sich kaum sagen, was sonst noch alles in dessen Gefolge Einzug gehalten hat. Anmerkung: (Nur) eine bloße Neu-Installation wäre u.E. gefährlich, weil es zu befürchten steht, dass dieser Trojaner sogar das überleben könnte. Also, erst die Black Lotus-Infektion reparieren, dann neu installieren, wäre deshalb unser Rat.

Hauptsache Hype

https://ludic.mataroa.blog/blog/i-will-fucking-piledrive-you-if-you-mention-ai-again/

The article „I Will Fucking Piledrive You If You Mention AI Again“ by Ludicity expresses frustration with the overhype and misuse of AI in business contexts. The author, a data scientist, criticizes executives and companies for jumping on the AI bandwagon without understanding its practical applications or limitations. The piece highlights the discrepancy between the potential of AI and its current implementation, pointing out the incompetence and grift within the industry. The writer emphasizes the need for realistic expectations and a focus on fundamental technical and operational improvements instead of blindly pursuing AI trends.

Das ist eine wirklich lesenswerte und sehr lustige Wutrede gegen den KI-Hype. Die habe ich dann erstmal in ChatGPT geworfen und um eine Zusammenfassung gebeten, das Ergebnis sehen Sie oben.

Für solche Dinge ist AGI wirklich nützlich, und man sieht an der Synopsis auch sehr gut, dass ChatGPT mit dem Text in stoischer Ruhe umgeht und sich nur auf die sachlichen Inhalte konzentriert. Ob ein Mensch das auch könnte, wenn man ihn derart frontal angreift? Aber ich wollte eben gerade meine persönlichen Emotionen zu diesem Thema heraushalten.

Auch als Suchmaschine schlägt KI alles. Grundsätzlich ist aber so ziemlich alles, was man derzeit mit KI anstellen kann, mit größter Vorsicht zu genießen. Es kann durchaus sehr hilfreich sein, natürlich, aber wenn man nicht selbst gut qualifiziert ist im betreffenden Bereich, gerät man immer tiefer in den Wald, und am Ende kommt nur Unsinn dabei heraus. Sprich, z.B. eine Software von KI erstellen zu wollen, und zu hoffen, dass dabei etwas Sinnvolles herauskommt, ist zumindest bisher hoffnungslos. Man formuliert erstmal die grundlegenden Bedingungen, und das Ergebnis ist großartig. Dann geht man in die Details – Sie wissen ja, die letzten 10% der Entwicklung von Software benötigen 90% der Zeit – und ChatGPT verrennt sich grandios. Wenn man da nicht selber Hand anlegen und ein robustes Design aufsetzen kann, landet man im Nirgendwo.

Also, es gibt ganz bestimmt schon einige Anwendungsszenarien für KI, aber wenn z.B. Amazon einen Chatbot einsetzt im Support, und der nicht kapiert, worum es geht, und aber ganz sicher ist, dass er es wüsste, und dann ist es unmöglich, noch einen Support-Mitarbeiter zu erreichen, noch nicht einmal per Mail, weil das System doch meint, es hätte bereits alles beantwortet, dann kann KI die Dinge sogar zum Schlechten wenden. Aber, wie es der verlinkte Artikel auch hervorragend herausarbeitet, an so einem Hype lässt sich eben prima verdienen, wenn einem die Kunden egal sind.

Windows Recall verlangt außerordentliches Vertrauen, das Microsoft nicht verdient hat

https://arstechnica.com/ai/2024/06/windows-recall-demands-an-extraordinary-level-of-trust-that-microsoft-hasnt-earned/

Microsoft’s Windows 11 Copilot+ PCs come with quite a few new AI and machine learning-driven features, but the tentpole is Recall … the feature is pitched as a way to help users remember where they’ve been and to provide Windows extra contextual information … This, as many users in infosec communities on social media immediately pointed out, sounds like a potential security nightmare. That’s doubly true because Microsoft says that by default, Recall’s screenshots take no pains to redact sensitive information, from usernames and passwords to health care information to NSFW site visits.

Wir sind nicht die Einzigen, die mit der neuen Funktion „Recall“ in Windows massive Bauchschmerzen haben. In diesem Artikel von Ars Technica werden Reaktionen von Sicherheits- und Privatsphäre-Fachleuten zusammengetragen, und das Vorhaben von Microsoft stößt darin rundheraus auf Ablehnung.

Vielleicht ist das Ganze ja eine Werbekampagne für Linux?

Windelweiche Bedenken

https://www.golem.de/news/ki-im-kreuzfeuer-der-kritik-massive-qualitaetsmaengel-bei-chatgpt-als-programmierhilfe-2405-185442.html

Eine von Forschern der Purdue University durchgeführte Studie hat die Genauigkeit und Qualität von ChatGPT bei der Beantwortung von Programmierfragen beleuchtet, die typischerweise auf Stack Overflow zu finden sind. Die Ergebnisse, die in den Proceedings der CHI Conference on Human Factors in Computing Systems veröffentlicht wurden, lassen erhebliche Bedenken hinsichtlich der Korrektheit und Prägnanz der Antworten von ChatGPT aufkommen.

Während wir den Studienautoren zwar grundsätzlich recht geben würden, dass sich ChatGPT vor allem für die Einarbeitung in neue Themen eignet, und bei komplexen Aufgabenstellungen oft noch überfordert ist, finden wir es doch ein wenig unfair, wie im Kleingedruckten der Studie zu lesen, dass die Tests mit GPT-3.5 durchgeführt wurden. Das ist ordentlich weit weg von der aktuellen Version 4o, die in einer völlig anderen Liga spielt. Es ist ein bisschen so, als würde man die Leistung eines 10-Jährigen in der A-Jugend bewerten wollen. Hat die Angst vor Jobverlust die Feder geführt?

Das Beitragsbild hat übrigens ChatGPT 4o erstellt, mit dem Prompt „Bild eines Baby-Roboters in 16:9“.

Es bleibt nur uneingeschränktes Misstrauen

https://www.heise.de/news/Nur-NIST-P-521-betroffen-PuTTY-Luecke-kompromittiert-private-SSH-Schluessel-9687539.html

Der freie Terminal-Client PuTTY trug seit Version 0.68 – veröffentlicht im Jahr 2017 – einen Programmierfehler mit sich herum, der Angreifern die Rekonstruktion privater SSH-Schlüssel des Typs NIST P-521 ermöglicht. Dafür müssen sie jedoch entweder ihr Opfer auf einen präparierten SSH-Server locken oder vom betroffenen Schlüssel signierte Git-Commits abfangen. Bei NIST P-521 handelt es sich um ein Verfahren der Kryptografie auf elliptischen Kurven (Elliptic Curve Cryptography, ECC).

Seit 7 Jahren, soso. Und auch noch mit elliptischen Kurven, die doch besonders sicher sein sollen.

In einem (äußerst sehenswerten!) Interview bei Tucker Carlson Network sagte Pavel Durov, Gründer der Social-Media-Plattform Telegram, kürzlich, er betrachte absolut jedes technische Gerät, mit dem er in Berührung kommt, als kompromittiert. Und nun, wenn man sich die abenteuerliche Flut von Lücken und Fehlern ansieht, die täglich in unüberschaubarer Zahl auf uns einprasseln, wird er damit wohl leider recht haben.

img2pdf Bild Konverter

Vielleicht kennen Sie das Problem: Sie haben eine Bilddatei, benötigen diese jedoch als PDF. In unserer Buchhaltung kommt das öfters vor, ein Photo, oder aus einer Banking-Software heraus. Aber das Steuerbüro akzeptiert nur PDF. Also muss das Image nach PDF konvertiert werden. Das ist natürlich gar kein Problem, beherrscht inzwischen jedes Betriebssystem. Doch vielleicht möchten Sie den Prozess automatisieren? Oder die Klicks reduzieren, um den PDF-Konverter aus der Anwendungssoftware heraus anzustoßen?

Hier ist ein kleines Tool für Bash, das eine riesige Auswahl von Bildformaten nach PDF konvertieren kann:

########################################################
# img2pdf.bash - Convert many image formats to PDF     #
# More info https://cephei.blog/img2pdf-bild-konverter #
########################################################
#!/bin/bash

delete_original=0
dpi=300
format="DINA4"
plain=0
auto_orient=""
verbose=0

usage() {
    echo "Usage: $(basename $0) [-d] [-i ] [-f ] [-p] [-v] file1 [file2 ...]"
    echo "   -d Delete file after conversion"
    echo "   -i  DPI value [300] for the converted PDF"
    echo "   -f  [DINA4], DINA3, DINA5, LETTER"
    echo "   -p Plain, do not scale image"
    echo "   -o Keep orientation (portrait/landscape)"
    echo "   -v Verbose, inform about progress"
    exit 1
}

verbose_echo() {
    if [ "$verbose" -eq 1 ]; then echo "$@"; fi
}

supported_file() {
    if [ ! -f "$1" ]; then return 1; fi
    if [ -n  "$(file "$1" |grep PDF)" ]; then return 1; fi
    if ! magick identify "$1" &>/dev/null; then return 1; fi
    return 0
}

# Check for required commands
if ! command -v convert &>/dev/null || ! command -v magick &>/dev/null || ! command -v bc &>/dev/null; then
    echo "ImageMagick not installed. Please install ImageMagick to use this script."
    echo "Hint: on most distributions, this package is named \"imagemagick\"."
    echo "(Should this appear although ImageMagick is installed, your distro misses \"bc\")"
    exit 1
fi

if [ "$#" -eq 0 ]; then usage; fi

while getopts ":di:f:pov" opt; do
    case $opt in
        d) delete_original=1 ;;
        i) dpi=$OPTARG ;;
        f) format=$(echo "$OPTARG" | tr '[:lower:]' '[:upper:]') ;; #ignore case
        p) plain=1 ;;
        o) auto_orient="-auto-orient" ;;
        v) verbose=1 ;;
        \?) echo "Invalid option: -$OPTARG" >&2
            usage
            ;;
        :) echo "Option -$OPTARG requires an argument." >&2
           usage
           ;;
    esac
done

shift $((OPTIND-1))
if [ "$#" -eq 0 ]; then usage; fi

if [ $plain -eq 0 ]; then
    # Configure settings based on format and DPI, reference values for 300 DPI
    case "$format" in
        DINA4) xsiz=2480; ysiz=3508 ;;
        DINA3) xsiz=3508; ysiz=4961 ;;
        DINA5) xsiz=1748; ysiz=2480 ;;
        DINA6) xsiz=1240; ysiz=1748 ;;
        LETTER) xsiz=2550; ysiz=3300 ;;
        *) echo "Unsupported format: $format" >&2
        exit 1 ;;
    esac
    
    scale_factor=$(echo "scale=8; 300 / $dpi" | bc)
    xsiz=$(echo "($xsiz / $scale_factor + 0.5) / 1" | bc) # Note: "/ 1" simulates floor
    ysiz=$(echo "($ysiz / $scale_factor + 0.5) / 1" | bc)
    verbose_echo "Conversion settings: DPI=$dpi, Format=$format, Scale Factor=$scale_factor"
else
    verbose_echo "[plain] was set on command line, image(s) are not scaled"
fi

for file in "$@"; do
    if supported_file "$file"; then
        output_file="${file%.*}.pdf"
  
        if [ $plain -eq 0 ]; then      
            convert "$file" $auto_orient -resize "${xsiz}x${ysiz}" -gravity center -extent ${xsiz}x${ysiz} -units PixelsPerInch -density $dpi "$output_file"
        else
            convert "$file" "$output_file"
        fi
        verbose_echo "Converted: $file -> $output_file"
        
        if [ $delete_original -eq 1 ]; then
            rm "$file"
            verbose_echo "Deleted: $file"
        fi
    else
        echo "Ignored: $file is either not a supported image format or does not exist." >&2
    fi
done

Alle von ImageMagick unterstützten Bildformate können mit diesem Script nach PDF konvertiert werden, und das ist eine schier unüberschaubare Anzahl von Formaten. Falls ImageMagick auf Ihrem System nicht verfügbar ist, das zugehörige Paket heißt „imagemagick“ unter Debian, Fedora und Arch.

Um unser Script zu installieren, kopieren Sie es entweder aus dem Code-Fenster oberhalb, oder Sie laden ein ZIP von unserem Server. img2pdf ist Freeware und Sie dürfen es nach Belieben verwenden.

Hinweis: Bei einzelnen Abschnitten des Codes wurde auf die Unterstützung von ChatGPT zurückgegriffen, aber OpenAI erhebt keinerlei Copyright-Ansprüche auf solche Code-Anteile.