Gratis PHP-bibliotek til at konvertere en webside til et billede eller PDF
Open Source PHP-bibliotek, der gør det muligt for softwareudviklere at konvertere en webside til et billede eller PDF med kun et par linjer PHP-kode.
I nutidens digitale tidsalder er webudvikling og design blevet vigtigere end nogensinde. En af de væsentlige aspekter i denne proces er at sikre, at websider ser ud og fungerer som tiltænkt på tværs af forskellige browsere og enheder. At tage screenshots af websider og eksportere dem til andre filformater er en meget nyttig og kompleks proces. Et sådant værktøj, der gør det nemt for softwareudviklere, er Browsershot. Det leverer et enkelt API, som gør det muligt for udviklere at generere screenshots ubesværet. Det skjuler kompleksiteten ved at konfigurere en headless-browser og giver en ren og intuitiv grænseflade at arbejde med.
Browsershot er et populært PHP-bibliotek, der gør det muligt for softwareudviklere at skabe høj‑kvalitets‑screenshots af websider og konvertere dem til en webside, et billede eller en PDF med kun et par linjer PHP‑kode. Det udnytter kraften i Puppeteer, et Node.js-bibliotek udviklet af Google, som styrer en headless Chrome‑ eller Chromium‑browserinstans til at interagere med websider og tage screenshots. Softwareudviklere kan let automatisere processen med at indfange website‑screenshots, hvilket sparer betydelig tid og indsats. Dette er især gavnligt, når brugere skal tage screenshots af flere websider eller udføre regelmæssig visuel regressions‑test.
Browsershot‑biblioteket tilbyder et bredt udvalg af konfigurationsmuligheder til at tilpasse processen med at generere screenshots. Softwareudviklere kan indstille viewport‑størrelsen, justere forsinkelsen før screenshot, definere outputformatet (fx PNG eller JPEG), tage fuld‑side screenshots eller screenshots af specifikke elementer på en webside, og endda anvende brugerdefinerede CSS‑stilarter på websiden inden screenshot. Det er et PHP‑bibliotek, som let kan integreres i eksisterende PHP‑projekter. Hvis du er en PHP‑udvikler, der søger en effektiv måde at automatisere screenshot‑generering på, er Browsershot bestemt værd at udforske.
Kom i gang med Browsershot
Den anbefalede og letteste måde at installere Browsershot på er at bruge Composer, PHP's afhængighedsstyringsværktøj. Brug venligst følgende kommando for en problemfri installation.
Installer Browsershot via Composer
composer require spatie/browsershot Du kan også installere det manuelt; download de nyeste udgivelsesfiler direkte fra GitHub repository.
Billedgenerering via PHP API
Det open source Browsershot-bibliotek gør det muligt for softwareudviklere at indlæse en HTML‑fil og konvertere den til forskellige billedfilformater ved hjælp af PHP‑API. Som standard vil screenshot‑størrelsen matche den opløsning, brugeren bruger på deres desktop, men den kan tilpasses efter deres behov. Biblioteket indeholder en række vigtige funktioner såsom at tage et fuld‑side screenshot, oprette et gråtonet billede, indstille enhedsskala, emulere en mobilvisning, deaktivere JavaScript under optagelse af siden, blokere URL’er, tilføje CSS‑stilarter før screenshot, outputte billedet direkte til browseren og meget mere. Følgende eksempel viser, hvordan man opretter et gråtonet billede via PHP‑API.
Oprette et gråtonet billede via PHP API
Browsershot::url('https://example.com')
->windowSize(640, 480)
->greyscale()
->save($pathToImage);
PDF Generation via PHP Library
The open source Browsershot library makes it easy for software developers to save a web page to a PDF files inside their PHP applications. The will save a pdf if the path passed to the save method has a pdf extension. There are several important features part of the library related to PDF creation, such as specifying the width and the height of the PDF page, setting margins, adding header and footer to PDF, hide the header or footer, add background of HTML page, Landscape orientation support, export specific pages, set the initial page number and many more. The following example shows how software developers can add headers and footers to PDF while generating it from HTML page.
Browsershot::html($someHtml)
->showBrowserHeaderAndFooter()
->headerHtml($someHtml)
->footerHtml($someHtml)
->save('example.pdf');Headless Chrome and Puppeteer Integration
Browsershot utilizes the power of headless Chrome or Puppeteer to render web pages accurately. This ensures that the screenshots generated by Browsershot match the actual appearance of the web page in a browser. Additionally, Browsershot supports both local and remote browsers, giving you the freedom to choose the most suitable setup for your needs. Browsershot leverages headless Chrome or Puppeteer to ensure that the rendered web pages closely match their appearance in a real browser. This guarantees consistent and accurate screenshots, providing reliable visual representation for documentation and testing purposes.
HTML Templating Support via PHP API
Building and maintaining consistent layouts across a web application can be challenging. Software developers can create HTML templates dynamically, allowing for efficient content generation and customization. Aspose.HTML Cloud SDK for PHP makes it easy for software developers to create reusable templates and efficiently apply them to different parts of their application. This feature is beneficial when building dynamic websites, newsletters, or personalized email campaigns. Moreover, it provides tools to dynamically adjust and optimize HTML content for responsive layouts.
Hvordan tilføjer man sidehoved og sidefod ved generering af PDF med PHP-kode?
require_once(__DIR__ . '/vendor/autoload.php');
$configuration = array(
"basePath" => "https://api.aspose.cloud/v4.0",
"authPath" => "https://api.aspose.cloud/connect/token",
"apiKey" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"appSID" => "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"defaultUserAgent" => "Webkit"
);
$api_html = new HtmlApi($configuration);
$src = 'https://stallman.org/articles/anonymous-payments-thru-phones.html';
$dst = 'c:/test.pdf';
$options = null;
try {
$result = $api_html->convertUrlToLocal($src, $dst, $options);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling $api_html->convertUrlToLocal: ', $e->getMessage(), PHP_EOL;
}