वेबसाइट के स्क्रीनशॉट


407

क्या PHP में किसी वेबसाइट का स्क्रीनशॉट लेने का कोई तरीका है, फिर उसे किसी फाइल में सेव करना?


2
यदि आप समाधान में गिरावट पसंद करते हैं, तो Usersnap पर एक नज़र डालें - यह सटीक वेबसाइट स्क्रीनशॉट प्रदान करने वाली एक अच्छी सेवा है। आपको इसे काम करने के लिए बस अपने पेज पर एक छोटा जावास्क्रिप्ट स्निपेट जोड़ना होगा।
ग्रेगोर

1
Usersnap कठबोली वेबपृष्ठों के साथ सामना करती है जो इस पृष्ठ की तरह सामग्री उत्पन्न करने के लिए अजाक्स का उपयोग करते हैं । मैं इसे कैसे हासिल कर सकता हूं? कहने दें: पृष्ठ के प्रारंभिक लोड होने के बाद स्क्रीनशॉट को 10 सेकंड के लिए तैयार करें
rubo77

1
@ rubo77: Usersnap ऐसे डायनेमिक DOM का समर्थन करता है, मैंने इसे आपके पेज के साथ आज़माया है - स्क्रीनशॉट सभी पदों के लिए सटीक सिटुलेशन को पुन: पेश करता है।
ग्रेगोर

जवाबों:


280

पिछले संस्करण : 7 वर्षों के बाद भी मैं इस उत्तर के लिए उठ रहा हूं, लेकिन मुझे लगता है कि यह अब बहुत सटीक है।


सुनिश्चित करें कि आप कर सकते हैं, लेकिन आपको पृष्ठ को किसी चीज़ के साथ प्रस्तुत करना होगा। यदि आप वास्तव में केवल php का उपयोग करना चाहते हैं, तो मैं आपको HTMLTOPS का सुझाव देता हूं , जो पृष्ठ को प्रस्तुत करता है और इसे ps फाइल (भूत -लेख) में आउटपुट करता है, फिर, इसे .jpg, .png, .pdf में रूपांतरित करें .. के साथ धीमा हो सकता है। जटिल पृष्ठ (और सभी CSS का समर्थन नहीं करते हैं)।

और, आप wkhtmltopdf का उपयोग पीडीएफ, jpg, जो कुछ भी में एक html पृष्ठ को आउटपुट करने के लिए कर सकते हैं .. CSS2.0 को स्वीकार करें, पृष्ठ को प्रस्तुत करने के लिए वेबकिट (सफारी के रैपर) का उपयोग करें .. तो ठीक होना चाहिए। आपको इसे अपने सर्वर पर स्थापित करना होगा, साथ ही ।।

नई HTML5 और JS फीचर के साथ UPDATE नाउ, जावास्क्रिप्ट का उपयोग करके पेज को एक कैनवास ऑब्जेक्ट में रेंडर करना भी संभव है। यहाँ ऐसा करने के लिए एक अच्छा पुस्तकालय है: Html2Canvas और यहाँ G + जैसी प्रतिक्रिया प्राप्त करने के लिए एक ही लेखक द्वारा एक कार्यान्वयन है। एक बार जब आप डोम को कैनवास में प्रस्तुत कर लेते हैं, तो आप सर्वर को अजाक्स के माध्यम से भेज सकते हैं और इसे jpg के रूप में सहेज सकते हैं।

EDIT : पीडीएफ़ को png में बदलने के लिए आप इमेजमैजिक टूल का उपयोग कर सकते हैं। Wkhtmltopdf का मेरा संस्करण छवियों का समर्थन नहीं करता है। जैसे convert html.pdf -append html.png

EDIT : यह छोटा खोल स्क्रिप्ट php5-cli और उपर्युक्त उपकरणों के साथ लिनक्स पर एक सरल / लेकिन काम करने का उपयोग उदाहरण देता है।

संपादित करें : मैंने अब देखा कि wkhtmltopdf टीम एक अन्य परियोजना पर काम कर रही है: wkhtmltoimage, जो आपको सीधे jpg देती है


11
Wkhtmltopdf के लिए +1। मैंने कुछ अन्य पुस्तकालयों के साथ खिलवाड़ किया है, लेकिन उनमें से कोई भी बहुत मूल HTML और सीएसएस से अधिक कुछ भी समर्थन करने के करीब नहीं आया है। wkhtmltopdf वह सब कुछ कर सकता है जो सफारी करता है, इसलिए आप वहां बहुत सुरक्षित हैं।
विम

7
wkhtmltoimage बढ़िया काम करता है! पारितोषिक के लिए धन्यवाद। आउटपुट पींग भी।
युतधाममो

2
अब आप उल्लेख करते हैं कि wkhtmltopdf KnpLabs के लिए एक रैपर है, इसके लिए github.com/KnpLabs/snappy
rmontagud

1
@rmontagud wkhtmltopdf का उपयोग बहुत आसान है, वैसे OOP रैपर हमेशा अच्छा होता है!
स्ट्रै

1
कुछ साल पहले ये सभी शानदार समाधान थे, लेकिन वे सभी जो ब्राउज़र तकनीक हैं, वे एचटीएमएल 5 / सीएसएस कल्पना में नवीनतम के साथ अद्यतित नहीं हैं। यदि आप एक ऐसी साइट प्रदान कर रहे हैं जो webfonts, svg, कैनवस, फ्लेक्सबॉक्स आदि का उपयोग करती है तो सौभाग्य को एक सटीक स्क्रीनशॉट मिल रहा है .. यदि आप चाहते हैं कि सटीक स्क्रीनशॉट मेरे उत्तर की जांच करें जो urlbox
cjroebuck

87

PHP 5.2.2 के बाद से, PHP के साथ पूरी तरह से वेबसाइट पर कब्जा करना संभव है !

imagegrabscreen - पूरी स्क्रीन को कैप्चर करता है

<?php
$img = imagegrabscreen();
imagepng($img, 'screenshot.png');
?>

imagegrabwindow - विंडो हैंडल (COM उदाहरण में HWND संपत्ति) का उपयोग करके एक विंडो या उसके क्लाइंट क्षेत्र को पकड़ता है

<?php
$Browser = new COM('InternetExplorer.Application');
$Browserhandle = $Browser->HWND;
$Browser->Visible = true;
$Browser->Fullscreen = true;
$Browser->Navigate('http://www.stackoverflow.com');

while($Browser->Busy){
  com_message_pump(4000);
}

$img = imagegrabwindow($Browserhandle, 0);
$Browser->Quit();
imagepng($img, 'screenshot.png');
?>

संपादित करें: ध्यान दें, ये कार्य केवल विंडोज सिस्टम पर उपलब्ध हैं!


26
नहीं सच में पूरी तरह PHP यह है?
टॉबी एलन

यह सामान को रेंडर करने के लिए इंटरनेट एक्सप्लोरर ब्राउजर का उपयोग कर रहा है।
keanu_reeves

55

यदि आप किसी तीसरे पक्ष के टूल का उपयोग नहीं करना चाहते हैं, तो मैं सरल समाधान के लिए आया हूं जो Google पेज इनसाइट एप का उपयोग कर रहा है ।

बस कॉल करने की जरूरत है, यह परम के साथ है screenshot=true

https://www.googleapis.com/pagespeedonline/v1/runPagespeed?
url=https://stackoverflow.com/&key={your_api_key}&screenshot=true

मोबाइल साइट देखने के लिए पास &strategy=mobileमें,

https://www.googleapis.com/pagespeedonline/v1/runPagespeed?
url=http://stackoverflow.com/&key={your_api_key}&screenshot=true&strategy=mobile

डेमो


3
यह बहुत अच्छा है और यह भी एक एपीआई कुंजी प्रदान किए बिना काम करने लगता है। छवि वापस आ गई है, हालांकि, आपको सभी '_' को '/' और सभी '-' को '+' के साथ बदलने की आवश्यकता है और फिर आप इसे सिर्फ एक डेटा के रूप में जोड़ सकते हैं
रॉबर्ट विंट

9
यह कमाल का है। मैंने इसे gist.github.com/jaseclamp/d4ac6205db352e822ff6
JaseC

21
इसलिए, संदर्भ के लिए, Google का पेज इनसाइट एपीआई एक तृतीय पक्ष उपकरण है।
जिम्बो

1
स्क्रीनशॉट में 320x240 तक सीमित रिज़ॉल्यूशन है, अंगूठे की तरह है
गेब्रियल एफ।

1
वाकई शानदार! इसका उपयोग करने के लिए इसकी कुछ सीमा है?
Moreirapontocom

19

आप पेज को हथियाने के लिए PhantomJS जैसे सरल हेडलेस ब्राउज़र का उपयोग कर सकते हैं।

इसके अलावा आप PHP के साथ PhantomJS का उपयोग कर सकते हैं।

इस छोटी सी php स्क्रिप्ट को देखें जो ऐसा करती है। यहां देखें https://github.com/microweber/screen

और यहाँ एपीआई- http://screen.microweber.com/shot.php?url=/programming/757675/website-screenshots-use-php


PhantomJS आम तौर पर इसके लिए एक महान समाधान है, हालांकि जब मैंने इसे बिल्कुल इस उद्देश्य के लिए उपयोग किया था, तो सभी HTML इंटरफ़ेस तत्व ठीक से प्रदान नहीं किए गए थे।
अल्ट्राएजेक

2
screen.microweber.com/shot.php?url=https://stackoverflow.com/… अब 404 है और सोच रहा था कि क्या यहां का उत्तर हटा दिया जाना चाहिए। किसी भी स्थिति में, इसे अपडेट किया जाना चाहिए।
फंक फोर्टी निनेर

18

यह आपके लिए अच्छा होना चाहिए:

https://wkhtmltopdf.org/

सुनिश्चित करें कि आप wkhtmltoimage वितरण डाउनलोड करें!


1
BTW, मैं इसे Ubuntu 10.04 पर स्थापित किया गया, बस apt-get का उपयोग करके। हालांकि, जब मैंने इसे चलाया, तो यह बहुत धीमा था और पीडीएफ लेआउट एस्क्यू था और वास्तव में एक व्यवहार्य विकल्प नहीं था। हालाँकि, यह KHTML का उपयोग करने का वादा दिखाता है - अंततः - छवि निर्माण के लिए।
Volomike

@ वोलोमाइक - जब से आप जानते हैं, इससे बेहतर परिणाम नहीं मिल सकता है, जैसा कि एक मानक जटिल ब्राउज़र का उपयोग किया जाता है। गति के रूप में, जिस कंपनी के साथ मैं काम करता हूं, उसने बारीक-बारीक (लेकिन छोटी) सीएसएस परियोजनाओं की आवश्यकता वाली विविध परियोजनाओं में इसका बार-बार उपयोग किया है।
क्रिश्चियन

मैं इस उत्पाद की प्रभावकारिता के लिए वाउच कर सकता हूं। मैं सरकारी ग्राहकों के लिए चार्टिंग एप्लिकेशन विकसित करता हूं जो html / css के माध्यम से वितरित किए जाते हैं, लेकिन PDF के रूप में संग्रहीत किए जाने चाहिए। कोई अन्य वेब-टू-पीडीएफ़ उत्पाद लगभग वैसा ही नहीं आया जैसा कि हमारे चार्ट को wttmltopdf के रूप में पुन: प्रस्तुत करने के करीब है।
डैनियल स्जाबो

@ वोलोमाइक: रिपॉजिटरी में संस्करण आमतौर पर सबसे नया नहीं है; स्रोत से नवीनतम स्थिर संस्करण स्थापित करने से मेरे लिए पुराने संस्करण की कई quirks तय हो गई हैं।
पिस्कोर ने

10

हाँ। आपको कुछ चीजों की आवश्यकता होगी:

* Nx पर khtmld (anemon) देखें । Windows के लिए Url2Jpg देखें, लेकिन चूंकि यह डॉटनेट ऐप है, इसलिए आपको Url2Bmp को भी चबाना चाहिए

दोनों कंसोल टूल हैं जो स्क्रीनशॉट लेने के लिए आपके वेब ऐप से उपयोग कर सकते हैं।

वेब सेवाएँ भी हैं जो इसे प्रदान करती हैं। उदाहरण के लिए इसे देखें ।

संपादित करें:

यह लिंक उपयोगी है।


10

यह पायथन में है, लेकिन प्रलेखन और कोड पर जाकर आप देख सकते हैं कि यह कैसे किया जाता है। यदि आप अजगर को चला सकते हैं, तो यह आपके लिए एक तैयार समाधान है:

http://browsershots.org/

ध्यान दें कि एक प्लेटफ़ॉर्म के लिए एक मशीन पर सब कुछ चल सकता है, या वर्चुअल मशीन के साथ एक मशीन दूसरे प्लेटफ़ॉर्म पर चल सकती है।

नि: शुल्क, खुला स्रोत, प्रलेखन, स्रोत कोड और अन्य जानकारी के लिंक के लिए पृष्ठ के निचले भाग तक स्क्रॉल करें।


24
नियम ३ is: कोई ओवरकिल नहीं है। केवल 'खुली आग' है, और 'पुनः लोड करने का समय' है।
एडम डेविस

स्रोत कोड अभी भी रेंडर करने के लिए एक डेस्कटॉप ब्राउज़र को फायर करता है। यह बिल्कुल थ्रेड सुरक्षित नहीं है और लॉकअप होने का खतरा हो सकता है।
Volomike

@ वोलोमाइक - सच है, लेकिन अगर आपको यह देखने की ज़रूरत है कि ब्राउज़र के चलने पर पृष्ठ कैसा दिखता है, तो शायद ही कोई बेहतर विकल्प हो। HTML रेंडरिंग इंजन केवल आज के जावास्क्रिप्ट भारी पृष्ठों के साथ ही चलते हैं। उचित निष्पादन की अनुमति और टाइमआउट सेट करना बाहरी प्रोग्राम को चलाने की कठिनाइयों और जोखिमों को सीमित करना चाहिए।
एडम डेविस

5

हाँ यही है। यदि आपको केवल URL की छवि की आवश्यकता है तो यह प्रयास करें

<img src='http://zenithwebtechnologies.com.au/thumbnail.php?url=www.subway.com.au'>

तर्क के रूप में url पास करें और आपको अधिक विवरण के लिए छवि मिल जाएगी इस लिंक की जाँच करें http://zenithwebtechnologies.com.au/auto-thumbnail-generation-from-url.html


2
सेवा रोक दी गई है।
मोहम्मद नाजी

5

खैर, फैंटमज एक ब्राउज़र है जिसे आसानी से एक सर्वर पर रखा जा सकता है और इसे php में एकीकृत किया जा सकता है। आप कोड WD WD में पा सकते हैं। उन्होंने बहुत अधिक विशेषताओं को शामिल किया है जैसे कि छवि का आकार निर्दिष्ट करना, कैश, फ़ाइल के रूप में डाउनलोड करना या img src आदि में प्रदर्शित करना।

<img src=”screenshot.php?url=google.com” />

URL पैरामीटर

  • चौड़ाई और ऊँचाई: screenshot.php? Url = google.com & w = 1000 & h = 800

  • क्रॉपिंग के साथ: स्क्रीनशॉट.php; url = google.com & w = 1000 & h = 800 और क्लिपव = 800 और क्लिपह = 600

  • कैश अक्षम करें और ताज़ा पेचकश लोड करें:
    स्क्रीनशॉट .php ? Url = google.com & cache = 0

  • छवि डाउनलोड करने के लिए: screenshot.php? Url = google.com & download = true

आप यहां ट्यूटोरियल देख सकते हैं: PHP के बिना एपीआई का उपयोग करके वेबसाइट का स्क्रीनशॉट कैप्चर करें


ओह। उसके लिए माफ़ करना। लगता है अब ब्लॉग नहीं है। प्रयास करें github.com/graphcool/chromeless @NarendraVerma
Gijo वर्गीज

4

cutycapt अधिकांश छवि प्रारूपों (jpg, png ..) के लिए वेबपृष्ठों को सहेजता है, इसे आपके synaptic से डाउनलोड करता है, यह wkhtmltopdf से बहुत बेहतर काम करता है


4

मैं हमेशा किसी भी वेबपेज के स्क्रीनशॉट को कैप्चर करने के लिए माइक्रोवेब स्क्रीन का उपयोग करता हूं । यहाँ हम एक अच्छी तरह से लिखा ट्यूटोरियल पा सकते हैं । यह आसान है और इसे सीखने में 3 मिनट से अधिक नहीं लगना चाहिए।


3

मैंने अंततः @boksiora द्वारा प्रस्तावित माइक्रोवेब / स्क्रीन का उपयोग करके सेट किया ।
शुरू में यहाँ दिए गए लिंक की कोशिश करने पर मुझे क्या मिला:

Please download this script from here https://github.com/microweber/screen

मैं लिनक्स पर हूँ। इसलिए यदि आप इसे चलाना चाहते हैं, तो आप मेरे कदम को अपने परिवेश में समायोजित कर सकते हैं।
यहाँ मैं अपने शेल पर DOCUMENT_ROOTफ़ोल्डर पर किया गया कदम है :

$ sudo wget https://github.com/microweber/screen/archive/master.zip
$ sudo unzip master.zip
$ sudo mv screen-master screen
$ sudo chmod +x screen/bin/phantomjs
$ sudo yum install fontconfig
$ sudo yum install freetype*
$ cd screen
$ sudo curl -sS https://getcomposer.org/installer | php
$ sudo php composer.phar update
$ cd ..
$ sudo chown -R apache screen
$ sudo chgrp -R www screen
$ sudo service httpd restart

अपने ब्राउज़र को इंगित करें screen/demo/shot.php?url=google.com। जब आप स्क्रीनशॉट देखते हैं , तो आप कर रहे हैं। अधिक अग्रिम सेटिंग के लिए चर्चा यहाँ और यहाँ उपलब्ध है


3

कई ओपन सोर्स प्रोजेक्ट हैं जो स्क्रीनशॉट उत्पन्न कर सकते हैं। उदाहरण के लिए PhantomJS, webkit2png आदि

इन परियोजनाओं के साथ बड़ी समस्या यह है कि वे पुराने ब्राउज़र तकनीक पर आधारित हैं और कई साइटों को प्रस्तुत करने में समस्याएँ हैं, विशेष रूप से ऐसी साइटें जो वेबफोंट्स, फ्लेक्सबॉक्स, एसवीजी और एचटीएमएल 5 और सीएसएस के कई अन्य परिवर्धन का उपयोग पिछले कुछ महीनों / वर्षों में करती हैं।

मैंने थर्ड पार्टी सेवाओं में से कुछ की कोशिश की है, और अधिकांश फैंटमजस पर आधारित हैं, जिसका अर्थ है कि वे खराब गुणवत्ता वाले स्क्रीनशॉट भी बनाते हैं। वेबसाइट स्क्रीनशॉट बनाने के लिए सबसे अच्छी थर्ड पार्टी सर्विस urlbox.io है । यह एक सशुल्क सेवा है, हालांकि किसी भी सशुल्क योजना के लिए इसे निशुल्क परीक्षण करने के लिए 7 दिनों का नि: शुल्क परीक्षण है।

यहाँ प्रलेखन के लिए एक कड़ी है , और नीचे संगीतकार के साथ PHP में काम करने के लिए सरल कदम हैं।

// 1 . Get the urlbox/screenshots composer package (on command line):
composer require urlbox/screenshots

// 2. Set up the composer package with Urlbox API credentials:
$urlbox = UrlboxRenderer::fromCredentials('API_KEY', 'API_SECRET');

// 3. Set your options (all options such as full page/full height screenshots, retina resolution, viewport dimensions, thumbnail width etc can be set here. See the docs for more.)
$options['url'] = 'example.com';

// 4. Generate the Urlbox url
$urlboxUrl = $urlbox->generateUrl($options);
// $urlboxUrl is now 'https://api.urlbox.io/v1/API_KEY/TOKEN/png?url=example.com'

// 5. Now stick it in an img tag, when the image is loaded in browser, the API call to urlbox will be triggered and a nice PNG screenshot will be generated!
<img src="$urlboxUrl" />

उदाहरण के लिए यहाँ इस पृष्ठ की पूर्ण ऊँचाई स्क्रीनशॉट है:

https://api.urlbox.io/v1/ca482d7e-9417-4569-90fe-80f7c5e1c781/8f1666d1f4195b1cb84ffa5f992ee18992a2b35e/png?url=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F757675%2Fwebsite-screenshots-using-php% 2F43652083% २३४३६५२०८३ और full_page = true

urlbox.io द्वारा संचालित stackoverflow.com प्रश्न का पूर्ण पृष्ठ स्क्रीनशॉट


3

बहुत सारे विकल्प हैं और वे सभी अपने पेशेवरों और विपक्ष हैं। कार्यान्वयन कठिनाई द्वारा आदेशित विकल्पों की सूची यहां दी गई है।

विकल्प 1: एक एपीआई (सबसे आसान) का उपयोग करें

  • ApiFlash (क्रोम पर आधारित)
  • EvoPDF (html के लिए एक विकल्प है)
  • Grabzit
  • ...

पेशेवरों

  • जावास्क्रिप्ट को निष्पादित करें
  • सही प्रतिपादन के पास
  • तेजी से जब कैशिंग विकल्प सही तरीके से उपयोग किए जाते हैं
  • स्केल एपीआई द्वारा नियंत्रित किया जाता है
  • सटीक समय, व्यूपोर्ट, ...
  • ज्यादातर समय वे एक मुफ्त योजना की पेशकश करते हैं

विपक्ष

  • यदि आप उन्हें बहुत उपयोग करने की योजना नहीं बनाते हैं तो मुक्त नहीं हैं

विकल्प 2: कई उपलब्ध पुस्तकालयों में से एक का उपयोग करें

पेशेवरों

  • अधिकांश समय रूपांतरण काफी तेज़ होता है

विपक्ष

  • बुरा प्रतिपादन
  • जावास्क्रिप्ट को निष्पादित नहीं करता है
  • हाल की वेब सुविधाओं के लिए कोई समर्थन नहीं (FlexBox, उन्नत चयनकर्ता, Webfonts, बॉक्स आकार, मीडिया क्वेरी, HTML5 टैग ...)
  • कभी-कभी स्थापित करना इतना आसान नहीं होता है
  • पैमाने पर जटिल

विकल्प 3: PhantomJs और शायद एक आवरण लाइब्रेरी का उपयोग करें

पेशेवरों

  • जावास्क्रिप्ट को निष्पादित करें
  • जल्दी

विपक्ष

  • बुरा प्रतिपादन
  • PhantomJs को हटा दिया गया है और अब इसे बनाए नहीं रखा गया है।
  • हाल की वेब सुविधाओं के लिए कोई समर्थन नहीं (FlexBox, उन्नत चयनकर्ता, Webfonts, बॉक्स आकार, मीडिया क्वेरी, HTML5 टैग ...)
  • पैमाने पर जटिल
  • इतना आसान नहीं है कि इसे काम करने के लिए अगर छवियों को लोड करना है ...

विकल्प 4: क्रोम हेडलेस और शायद एक रैपर लाइब्रेरी का उपयोग करें

पेशेवरों

  • जावास्क्रिप्ट को निष्पादित करें
  • सही प्रतिपादन के पास

विपक्ष

  • के बारे में वास्तव में वांछित परिणाम के लिए इतना आसान नहीं है:
    • पृष्ठ लोड समय
    • प्रॉक्सी एकीकरण
    • ऑटो स्क्रॉलिंग
    • ...
  • पैमाने पर जटिल
  • अगर html में बाहरी लिंक हैं तो धीमी और धीमी

अस्वीकरण: मैं ApiFlash का संस्थापक हूं। मैंने एक ईमानदार और उपयोगी उत्तर देने की पूरी कोशिश की।


2

मैं विंडोज पर हूं इसलिए मैं स्टेपहान से यहां टिप पढ़ने के बाद इमेजग्रेविंडो फ़ंक्शन का उपयोग करने में सक्षम था। मैंने क्रॉपिंग (ब्राउज़र हेडर, स्क्रॉल बार आदि से छुटकारा पाने के लिए) और अंतिम छवि प्राप्त करने के लिए आकार बदलने में जोड़ा। यहाँ मेरा कोड है । आशा है कि किसी की मदद करता है।


1

webkit2html मैक ओएस एक्स और लिनक्स पर काम करता है, इंस्टॉल करने और उपयोग करने के लिए काफी सरल है। इस ट्यूटोरियल देखें ।

विंडोज के लिए, आप CutyCapt के साथ जा सकते हैं , जिसमें समान कार्यक्षमता है।


2
@Smith: पिछली बार जब मैंने जाँच की थी, CutyCapt के इंस्टॉलर में सभी निर्भरताएँ हैं। हां, आप शायद इसे सीमित खाते के तहत स्थापित नहीं कर पाएंगे, लेकिन यह जीवन है। ध्यान दें कि सभी अन्य समाधान एक रेंडरिंग कोर के आसपास कुछ प्रकार के आवरण का उपयोग कर रहे हैं, इसलिए आप उनके साथ एक ही स्थान पर हैं।
पिस्कवर ने इमारत

1

मैंने ब्ल्यूगा का इस्तेमाल किया । एप आपको बिना भुगतान किए एक महीने में 100 स्नैपशॉट लेने की अनुमति देता है, लेकिन कभी-कभी यह एक पृष्ठ के लिए 1 से अधिक क्रेडिट का उपयोग करता है। मैंने ड्रुपल 7 में एक ड्रुपल मॉड्यूल, ब्लुगा वेबटुम्स को अपग्रेड करने के लिए समाप्त कर दिया है, जो आपको टेम्पलेट या इनपुट फिल्टर में थंबनेल प्रिंट करने की अनुमति देता है।

इस एपीआई का उपयोग करने का मुख्य लाभ यह है कि यह आपको अनुकूली सीएसएस का उपयोग करने की स्थिति में ब्राउज़र आयामों को निर्दिष्ट करने की अनुमति देता है, इसलिए मैं इसका उपयोग मोबाइल और टैबलेट लेआउट के साथ-साथ नियमित रूप से करने के लिए करता हूं।

निम्नलिखित भाषाओं के लिए एपीआई क्लाइंट हैं:

PHP , पायथन , रूबी , जावा , .Net C # , पर्ल और बैश (शेल स्क्रिप्ट ऐसा लगता है कि इसे पर्ल की आवश्यकता है)


1

यह सब इस बात पर निर्भर करता है कि आप स्क्रीनशॉट कैसे लेना चाहते हैं।

आप PHP के माध्यम से ऐसा कर सकते हैं, जो आपके लिए छवि प्राप्त करने के लिए एक webservice का उपयोग कर रहा है

Grabz.it में ऐसा करने के लिए एक webservice है, यहां एक लेख है जो सेवा का उपयोग करने का एक सरल उदाहरण दिखाता है।

http://www.phpbuilder.com/articles/news-reviews/miscellaneous/capture-screenshots-in-php-with-grabzit-120524022959.html


1

आप https://grabz.it समाधान का उपयोग कर सकते हैं।

यह एक PHP एपीआई है जो बहुत लचीला है और इसे विभिन्न तरीकों से बुलाया जा सकता है जैसे कि क्रोनजोब या पीएचपी वेब पेज से।

इसे कार्यान्वित करने के लिए आपको सबसे पहले एक ऐप कुंजी प्राप्त करनी होगी और गुप्त और (मुफ्त) एसडीके डाउनलोड करना होगा।

और कार्यान्वयन के लिए एक उदाहरण। सर्वप्रथम आरंभीकरण:

include("GrabzItClient.class.php");

// Create the GrabzItClient class
// Replace "APPLICATION KEY", "APPLICATION SECRET" with the values from your account!
$grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");

और स्क्रीनशॉट उदाहरण:

// To take a image screenshot
$grabzIt->URLToImage("http://www.google.com");  
// Or to take a PDF screenshot
$grabzIt->URLToPDF("http://www.google.com");
// Or to convert online videos into animated GIF's
$grabzIt->URLToAnimation("http://www.example.com/video.avi");
// Or to capture table(s)
$grabzIt->URLToTable("http://www.google.com");

अगला सेविंग है। Saveयदि आप सार्वजनिक रूप से सुलभ कॉलबैक हैंडल उपलब्ध हैं और SaveToनहीं तो दो सेव मेथड्स में से एक का उपयोग कर सकते हैं । विवरण के लिए प्रलेखन की जाँच करें ।


यदि आप पूर्ण पृष्ठ स्क्रीनशॉट की तलाश कर रहे हैं, तो इस प्रदाता को एक पेशेवर ($ 170 / वर्ष) सदस्यता की आवश्यकता होती है।
चॉस्क्रीटर

1

मैंने Google API का उपयोग करके ऐसा करने के लिए दूसरे दिन एक त्वरित और गंदा ऐप लिखा। निश्चित रूप से सुधार की गुंजाइश ...

  • यह नवीनतम Google API वर्जन 5 का उपयोग करता है।
  • छवि का आकार अब 500px चौड़ा है
  • डेस्कटॉप और मोबाइल दृश्य का समर्थन करता है
  • एक निर्दिष्ट फ़ोल्डर में एक फ़ाइल में सहेजें
  • एक अल्पविकसित कैश सिस्टम को शामिल करें

इसे लाइव डेमो और कोड के साथ यहां खोजें ।

मैंने यहां केवल इसलिए कोड पोस्ट नहीं किया क्योंकि मैं इसे परिष्कृत करता रहता हूं और उम्मीद है कि जब मेरे पास समय होगा, तो इसे एक उचित वर्ग में बदल दें।


0

मैंने page2images का उपयोग किया । इसे क्यूटीकैप पर विकसित किया गया है जो वास्तव में तेज और स्थिर है। यदि आप प्रदर्शन और कॉन्फ़िगरेशन पर बहुत अधिक समय खर्च नहीं करना चाहते हैं, तो आपको इसका उपयोग करना चाहिए। यदि आप उनकी वेबसाइट पर जाते हैं, तो आप अधिक विवरण और नमूना PHP कोड पा सकते हैं।


0

वेब पर सर्फिंग के लिए मुझे बहुत कुछ मिला।

PPTRAAS > अपने URL को एक पैरामीटर के रूप में पास करके स्क्रीनशॉट पर कब्जा करने का एक निशुल्क उपकरण

वे बस अपने URL को मारकर कई विकल्प प्रदान करते हैं।

  1. पूर्ण पृष्ठ स्क्रीनशॉट प्राप्त करें

    https://pptraas.com/screenshot?url= {आप URL यहाँ}

  2. विशिष्ट आकार का पेज स्क्रीनशॉट प्राप्त करें

    https://pptraas.com/screenshot?url= {आप URL यहाँ} और आकार = 400,400

  3. यहां तक ​​कि पेज को पीडीएफ में भी बदल सकते हैं

    https://pptraas.com/pdf?url= {आप URL यहाँ}


जोश, जब मैंने जवाब अपलोड किया, तो यह अच्छी तरह से काम करता है, मुझे लगता है कि हम इस url पर निर्भर नहीं हो सकते हैं, कृपया एक और विकल्प ढूंढें क्योंकि उन्होंने अब के लिए सेवा बंद कर दी हो सकती है
फेनिल शाह

0

आप 2 काम कर सकते हैं।

कठपुतली का उपयोग करें

आप ब्राउज़र को स्पिन करने और स्क्रीनशॉट लेने के लिए PHP Puppeteer पैकेज का उपयोग कर सकते हैं ।

एक एपीआई का उपयोग करें

बहुत सारे स्क्रीनशॉट एपीआई हैं। आप उदाहरण के लिए ScreenshotAPI.net को देख सकते हैं । (अस्वीकरण मैं उस एपीआई का निर्माता हूं)


-1

प्रत्यक्ष नहीं। सेलेनियम जैसे सॉफ्टवेयर में इस तरह की विशेषताएं होती हैं और इसे पीएचपी द्वारा नियंत्रित किया जा सकता है, लेकिन अन्य निर्भरताएं भी हैं (जैसे कि आपके ब्राउज़र में कंप्यूटर पर अपना जावा-आधारित सर्वर चलाना जो आप स्क्रीनशॉट लेना चाहते हैं)


अब इसके लिए बहुत सी PHP लाइब्रेरी उपलब्ध हैं। बिल्कुल नहीं 'PHP' पुस्तकालय। कुछ js ब्राउज़र और कोड शामिल करता है।
गिजो वर्गीस


-1

मैंने इसे सबसे अच्छा और आसान टूल माना है: ScreenShotMachine । यह एक भुगतान की गई सेवा है, लेकिन आपको 100 मुफ्त स्क्रीनशॉट मिलते हैं और आप $ 20 (लगभग) $ 20 के लिए एक और 2,000 खरीद सकते हैं, इसलिए यह बहुत अच्छा सौदा है। इसका एक बहुत ही सरल उपयोग है, आप बस एक URL का उपयोग करते हैं, इसलिए मैंने इस पर आधारित फ़ाइल को सहेजने के लिए यह छोटी स्क्रिप्ट लिखी है:

<?php
  $url = file_get_contents("http://api.screenshotmachine.com/?key={mykey}&url=https://stackoverflow.com&size=X");

  $file = fopen("snapshots/stack.jpg", "w+");
  fwrite($file, $url);
  fclose($file);
  die("saved file!");
?>

उनके पास यहां बहुत अच्छा दस्तावेज है , इसलिए आपको निश्चित रूप से एक नज़र रखना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.