Przejdź do OTG przez Java
Twórz własne aplikacje Java, aby scalać pliki OTG za pomocą interfejsów API po stronie serwera.
Jak scalić pliki OTG za pomocą Java
Jeśli chcesz puścić wodze fantazji, nadszedł czas, aby skorzystać z kolażu obrazów. Ta funkcja umożliwia łączenie zdjęć i obrazów, nawet jeśli pliki źródłowe mają różne formaty. Świetnym sposobem na zwrócenie uwagi na swoje portfolio jest zastosowanie fototapet z powtarzającymi się obrazami lub wzorami. W takim przypadku obrazy można łączyć zarówno w kierunku poziomym, jak i pionowym. Jeśli chcesz zademonstrować wynik obróbki pliku, możesz łatwo połączyć dwa obrazy: przed i po zastosowaniu efektu fotograficznego. Aby połączyć pliki OTG, użyjemy Aspose.Imaging dla Javy API, który jest bogatym w funkcje, wydajnym i łatwym w użyciu interfejsem API do obróbki i konwersji obrazów dla platformy Java. Możesz pobrać jego najnowszą wersję bezpośrednio z Maven i zainstaluj go w swoim projekcie opartym na Maven, dodając następujące konfiguracje do pom.xml.
Repozytorium
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Zależność
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Kroki do scalenia OTGs przez Java
Potrzebujesz aspose-imaging-version-jdk16.jar aby wypróbować następujący przepływ pracy we własnym środowisku.
- Załaduj pliki OTG za pomocą metody Image.load
- Łączenie obrazów w nowe
- Zapisz przycięty obraz na dysku w formacie obsługiwanym przez Aspose.Imaging
wymagania systemowe
Aspose.Imaging dla Java jest obsługiwane we wszystkich głównych systemach operacyjnych. Tylko upewnij się, że masz następujące wymagania wstępne.
- JDK 1.6 lub nowszy jest zainstalowany.
Scal obrazy OTG – Java
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.fileformats.tiff.TiffFrame; | |
import com.aspose.imaging.fileformats.tiff.TiffImage; | |
import com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat; | |
import com.aspose.imaging.imageoptions.PdfOptions; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
import com.aspose.imaging.imageoptions.TiffOptions; | |
import java.io.File; | |
import java.io.FilenameFilter; | |
import java.util.HashMap; | |
import java.util.Map; | |
String TestDirectory = "<some directory>\\Many2One\\"; | |
HashMap<String, Image> images = new HashMap<String, Image>(); | |
try | |
{ | |
String outputPath = TestDirectory + "output\\"; | |
File dir = new File(outputPath); | |
assert dir.exists() || dir.mkdirs(); | |
int maxWidth = 0; | |
int maxHeight = 0; | |
// Source file mask, could vary depending on image format (i.e. *.emf, *.wmf, *.svg, *.odg, etc) | |
final String fileMask = ".emf"; | |
File[] files = new File(TestDirectory).listFiles(new FilenameFilter() | |
{ | |
@Override | |
public boolean accept(File dir, String name) | |
{ | |
return name.endsWith(fileMask); | |
} | |
}); | |
if (files == null) | |
return; | |
for (File fileName : files) | |
{ | |
try (Image image = Image.load(fileName.getAbsolutePath())) | |
{ | |
String outputFileName = outputPath + fileName.getName() + ".png"; | |
// Save PNG image | |
image.save(outputFileName, new PngOptions()); | |
Image rasterImage = Image.load(outputFileName); | |
if (rasterImage.getWidth() > maxWidth) | |
{ | |
maxWidth = rasterImage.getWidth(); | |
} | |
if (rasterImage.getHeight() > maxHeight) | |
{ | |
maxHeight = rasterImage.getHeight(); | |
} | |
images.put(outputFileName, rasterImage); | |
} | |
} | |
if (images.isEmpty()) | |
{ | |
return; | |
} | |
String outputPath1 = outputPath + "multiframe.tiff"; | |
String outputPath2 = outputPath + "multipage.pdf"; | |
final Image[] imageArray = images.values().toArray(new Image[0]); | |
try (TiffImage tiffImage = new TiffImage(new TiffFrame((RasterImage) imageArray[0]))) | |
{ | |
for (int i = 1; i < imageArray.length; i++) | |
{ | |
tiffImage.addPage((RasterImage)imageArray[i]); | |
} | |
// Save as muti frame tiff | |
tiffImage.save(outputPath1, new TiffOptions(TiffExpectedFormat.TiffJpegRgb)); | |
// Worry about Pdf ? That's it! | |
tiffImage.save(outputPath2, new PdfOptions()); | |
} | |
} | |
finally | |
{ | |
for (Map.Entry<String, Image> entry : images.entrySet()) | |
{ | |
entry.getValue().close(); | |
new File(entry.getKey()).delete(); | |
} | |
images.clear(); | |
} |
Informacje o Aspose.Imaging dla Java API
Aspose.Imaging API to rozwiązanie do przetwarzania obrazów do tworzenia, modyfikowania, rysowania lub konwertowania obrazów (zdjęć) w aplikacjach. Oferuje: wieloplatformowe przetwarzanie obrazu, w tym między innymi konwersje między różnymi formatami obrazu (w tym jednolite przetwarzanie obrazu wielostronicowego lub wieloklatkowego), modyfikacje takie jak rysowanie, praca z prymitywami graficznymi, przekształcenia (zmiana rozmiaru, przycinanie, odwracanie i obracanie , binaryzacja, skala szarości, dostosowanie), zaawansowane funkcje manipulacji obrazem (filtrowanie, dithering, maskowanie, prostowanie) oraz strategie optymalizacji pamięci. Jest to samodzielna biblioteka i nie zależy od żadnego oprogramowania do obsługi obrazów. W projektach można łatwo dodać wysokowydajne funkcje konwersji obrazów za pomocą natywnych interfejsów API. Są to w 100% prywatne lokalne interfejsy API, a obrazy są przetwarzane na Twoich serwerach.Scal OTGs przez aplikację online
Połącz dokumenty OTG, odwiedzając naszą witrynę demonstracyjną na żywo . Demo na żywo ma następujące zalety
OTG Co jest OTG Format pliku
Plik OTG to szablon rysunku utworzony przy użyciu standardu OpenDocument zgodnego ze specyfikacją OASIS Office Applications 1.0. Reprezentuje domyślną organizację elementów rysunkowych dla obrazu wektorowego, która może być wykorzystana do dalszego ulepszania zawartości pliku.
Czytaj więcejInne obsługiwane formaty scalania
Za pomocą Java można łatwo łączyć różne formaty, w tym.