PDF Datei komprimieren bei gleichbleibender Qualität
Java | C# | .NET Core | nuget | C/C++ | COM | Kommandozeile | Überwachte Verzeichnisse
Der 3-Heights™ PDF Optimizer verbessert PDF auf verschiedene Arten. Der Hauptanwendungszweck ist die PDF Komprimierung, also die PDF-Dateigrösse reduzieren für den elektronischen Dokumentenaustausch und die Dokumentenarchivierung. Das abgestimmte Zusammenspiel verschiedener Funktionalitäten erlaubt hohe Kompressionsraten ohne oder bei minimalem visuellem Verlust. Ein anderer Anwendungsbereich ist die Aufbereitung für den Druck - dazu werden Schriften zusammengefügt und im PDF eingebettet um die Druckdateigrösse zu minimieren, dazu kommen Farbraumkonversionen, z.B. von RGB nach CMYK. Der PDF Optimizer kommt in verschiedenen Varianten: als Shell zur Nutzung mit der Kommandozeile, als Dienst mit überwachten Verzeichnissen und als API zur Nutzung mit C#, Visual Basic, Java, C/C++.
Prozesse wurden schneller und verlässlicher und ermöglichten inbro weitere Investitionen im Bereich Cloud Computing zu tätigen, um damit wirksam und kostengünstig weiteres Wachstum zu erzielen. Aufgrund dieser Weiterentwicklung konnte die vorhandene Infrastruktur auch um eine verwaltete Maschine reduziert werden.
Einfache Konfigurierbarkeit durch Optimierungsprofile:
Funktionen und Detailkonfigurationen zur Optimierung von Bildern
Funktionen und Detailkonfigurationen zur Optimierung von Schriften
Funktionen zur Optimierung des Seiteninhalts
Detailkonfigurationen zum Entfernen von:
Features und Konfiguration auf Dateiebene
Auflistungs- und Extraktionsfunktionen
PDF Dokumente haben verschiedenste Einsatzgebiete und überall sind die Anforderungen anders. Oft gilt es kleine Dateigrössen zu erreichen für den effizenten Dokumentaustausch. In anderen Szenarien ist die verlustfreie Optimierung das oberste Ziel. Oder es gilt Dokumente für einen Nachfolgeprozess zu optimieren. Beispielsweise beim Druck, wo Farbkonvertierungsfehler zu verhindern und kleine Spooldateien zu erzeugen sind. Der 3-Heights™ Optimizer hat für alle Bedürfnisse vorgegebene Profile, welche Sie bei Bedarf auf einfache Art individualisieren können.
Im Web sind kurze Antwortzeiten gefragt. Wenn Online Publikationen oder Dokumentationen langsam laden, verlieren potentielle Kunden das Interesse.
Genauso wie schlecht komprimierte PDF-Dokumente E-Mails unnötig gross machen und die Kommunikation verlangsamen oder den Austausch von Dokumenten per E-Mail insgesamt verhindern.
Kleine und linearisierte PDF Dokumente verkürzen die Antwortzeiten erheblich und verbessern die Prozesse des E-Mail-Versandes deutlich.
Anforderungen bei der Archivierung variieren; z. B. sollen in einem Fall alternative Bilder mitarchiviert werden, im anderen Fall nicht. Gemeinsam ist sicher, dass keine redundanten und unnötigen Daten archiviert werden. Die selektiven Optimierungsmöglichkeiten in der 3-Heights™ PDF Optimizer Komponente lassen genau diese Konfigurationen zu. Bulkverarbeitungen können mit einer Batchdatei oder einem individuell programmierten Ansatz (z.B. in C#, Visual Basic, C/C++ oder Java) erreicht werden.
Identifizieren des Zielanwendungsbereichs
zum Beispiel:
Angemessene Optimierungseinstellungen anwenden
zum Beispiel:
Verwende das Archivierungs-Profil um die Dateigrösse zu reduzieren ohne Informationsverlust - einer typischen Vorgabe für die Archivierung. Entferne redundante Informationen, führe eingebettete Schriften zusammen und reduziere sie auf die verwendeten Glyphen. Optimiere Ressourcen und komprimiere Bilder typenabhängig.
// Create the optimizer
using (Optimizer optimizer = new Optimizer())
{
// Choose the optimization profile for archiving
optimizer.Profile = PDFOptimizationProfile.eOptimizationProfileArchive;
// Open input file
if (!optimizer.Open(inputPath, ""))
throw new Exception(String.Format("Input file {0} cannot be opened. " +
"{1} (ErrorCode: 0x{2:x}).", inputPath, optimizer.ErrorMessage, optimizer.ErrorCode));
// Save output file
if (!optimizer.SaveAs(outputPath, "", "", PDFPermission.ePermNoEncryption))
throw new Exception(String.Format("Output file {0} cannot be created. " +
"{1} (ErrorCode: 0x{2:x}).", outputPath, optimizer.ErrorMessage, optimizer.ErrorCode));
// Close input file
if (!optimizer.Close())
throw new Exception(String.Format("Input file {0} cannot be closed. " +
"{1} (ErrorCode: 0x{2:x}).", inputPath, optimizer.ErrorMessage, optimizer.ErrorCode));
}
// Create the optimizer
optimizer = new PdfOptimize();
// Choose the optimization profile for archiving
optimizer.setProfile(PdfOptimize.OPTIMIZATIONPROFILE.eOptimizationProfileArchive);
// Open input file
if (!optimizer.open(inputPath, ""))
throw new IOException(String.format("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).",
inputPath, optimizer.getErrorMessage(), optimizer.getErrorCode()));
// Save output file
if (!optimizer.saveAs(outputPath, "", "", NativeLibrary.PERMISSION.ePermNoEncryption))
throw new IOException(String.format("Output file %s cannot be created. %s (ErrorCode: 0x%08x).",
outputPath, optimizer.getErrorMessage(), optimizer.getErrorCode()));
// Close input file
if (!optimizer.close())
throw new IOException(String.format("Input file %s cannot be closed. %s (ErrorCode: 0x%08x).",
inputPath, optimizer.getErrorMessage(), optimizer.getErrorCode()));
// Create the optimizer
pOptimizer = PdfOptimizeCreateObject();
// Choose the optimization profile for archiving
PdfOptimizeSetProfile(pOptimizer, eOptimizationProfileArchive);
// Open input file
if (!PdfOptimizeOpen(pOptimizer, szInputPath, _T("")))
{
_tprintf(_T("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).\n"), szInputPath,
PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer));
iReturnValue = 1;
goto cleanup;
}
// Save output file
if (!PdfOptimizeSaveAs(pOptimizer, szOutputPath, _T(""), _T(""), ePermNoEncryption))
{
_tprintf(_T("Output file %s cannot be created. %s (ErrorCode: 0x%08x).\n"), szOutputPath,
PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer));
iReturnValue = 1;
goto cleanup;
}
// Close input amd output files
if (!PdfOptimizeClose(pOptimizer))
{
_tprintf(_T("Input file %s cannot be closed. %s (ErrorCode: 0x%08x).\n"), szInputPath,
PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer));
iReturnValue = 1;
goto cleanup;
}
☎ +41 43 411 44 51 ✉ pdfsales(at)pdf-tools.com
Qualitätssicherung
Schlichte, schlanke und konforme PDF-Dokumente ohne Qualitätsverlust oder Informationsverlust.
Speicherplatz
Deutliches Speicherplatzersparnis im entsprechenden Anwendungsbereich – besonders für ein langfristiges, digitales Datenarchiv geeignet.
Zeit
Effiziente Verarbeitung dank der 3-Heights™ Architektur. Schnelle Darstellung von Dokumenten, kurze Download-Zeiten und optimale Suchfunktionen dank der Eliminierung redundanter Daten und einer anwendungsorientierten PDF-Optimierung.
When it comes to printing then all colors in a PDF document are transformed to the native color space of the printing device. If, e.g. a text uses a black RGB color then it is transformed to an equivalent CMYK value which contains contributions from all four color channels...
PDF is more and more finding its way into mass printing applications. However, PDF spool files often ask too much from a print engine resulting in aborts or, even worse, incomplete prints which may not be noticed. What is special about PDF mass printing...
So ist es unvermeidlich, den Archivierungsprozess unter Kontrolle zu halten und sich dabei auch auf die Optimierung zu konzentrieren. Ein Punkt der Verbesserung ist die Datei-Optimierung selber.
Erfahren Sie mehr über die Vorteile der Optimierung und Komprimierung von Dokumenten.