PDF to popularny format udostępniania i drukowania dokumentów ze względu na spójny układ. Jednak możesz znaleźć się w sytuacji, w której chcesz wygenerować obraz okładki pliku PDF lub osadzić jego strony na stronie internetowej. W takich przypadkach pomocna okaże się konwersja pliku PDF do formatu graficznego. W tym celu w tym artykule dowiesz się, jak konwertować strony PDF na obrazy PNG za pomocą C++.
- C++ API do konwersji stron PDF na obrazy PNG
- Konwertuj strony PDF na obrazy PNG za pomocą C++
- Konwertuj pojedynczą stronę PDF na obraz PNG za pomocą C++
C++ API do konwersji stron PDF na obrazy PNG
Aspose.PDF for C++ to biblioteka C++, która umożliwia tworzenie, odczytywanie i aktualizowanie dokumentów PDF. Ponadto interfejs API obsługuje konwersję stron PDF na obrazy PNG. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji downloads.
PM> Install-Package Aspose.PDF.Cpp
Konwertuj strony PDF na obrazy PNG za pomocą C++
Poniżej przedstawiono kroki konwersji stron PDF na obrazy PNG.
- Załaduj plik PDF przy użyciu klasy Document.
- Iteruj przez strony pliku PDF.
- W pętli utwórz instancję klasy FileStream dla obrazu wyjściowego.
- Utwórz instancję klasy Resolution.
- Utwórz instancję klasy PngDevice.
- Używając Procesu (System::SharedPtr strona, System::SharedPtrSystem::IO::Stream output) klasy PngDevice zapisz obraz strony PDF.
Poniższy przykładowy kod demonstruje sposób zapisywania stron pliku PDF jako obrazów PNG przy użyciu języka C++.
// Załaduj plik PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Iteruj przez strony PDF
for (auto page : pdfDocument->get_Pages())
{
// Utwórz instancję klasy FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));
// Utwórz instancję klasy Resolution
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);
// Utwórz instancję klasy PngDevice
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);
// Zapisz stronę jako obraz
pngDevice->Process(page, imageStream);
// Zamknij strumień
imageStream->Close();
}
Konwertuj pojedynczą stronę PDF na obraz PNG za pomocą C++
Poniżej przedstawiono kroki konwersji pojedynczej strony pliku PDF na obraz PNG.
- Załaduj plik PDF przy użyciu klasy Document.
- Pobierz stronę, którą chcesz przekonwertować, używając metody Document->getPages()->idxget(int32t index).
- Utwórz instancję klasy FileStream dla obrazu wyjściowego.
- Utwórz instancję obiektu klasy Resolution.
- Utwórz instancję klasy PngDevice.
- Używając Procesu (System::SharedPtr strona, System::SharedPtrSystem::IO::Stream output) klasy PngDevice zapisz obraz strony PDF.
Poniższy przykładowy kod pokazuje, jak przekonwertować pojedynczą stronę PDF na obraz PNG przy użyciu języka C++.
// Załaduj plik PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Pobierz pierwszą stronę
auto page = pdfDocument->get_Pages()->idx_get(1);
// Utwórz instancję klasy FileStream
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));
// Utwórz instancję klasy Resolution
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);
// Utwórz instancję klasy PngDevice
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);
// Zapisz stronę jako obraz
pngDevice->Process(page, imageStream);
// Zamknij strumień
imageStream->Close();
Uzyskaj bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się konwertować strony pliku PDF na obrazy PNG za pomocą C++. Możesz konwertować wszystkie strony lub wybrane strony plików PDF na obrazy PNG. Aspose.PDF for C++ to solidny interfejs API z wieloma dodatkowymi funkcjami do automatyzacji przepływów pracy związanych z plikami PDF. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt z nami na naszym darmowym forum pomocy technicznej.