Screenshoter une (grosse) page web

Salut à tous,

Je cherche à capturer (au sens screenshoter, je veux une image, lossy ou pas je m’en fous) une page web assez grosse.

Je sais qu’il existe pleeeeein d’extensions Chrome qui font ça, dont certaines que j’ai déjà utilisées avec succès sur d’autres pages web, mais le problème c’est qu’aucune ne marche pour la page que je cherche à capturer, à savoir cette page imgur. Je sais qu’on peut downloader un album imgur, mais je veux la page telle quelle.

J’ai aussi essayé avec Firefox, aucune des extensions que j’ai essayées ne marche, donc ça règle le problème.

J’ai pas mal googlisé mais pour l’instant aucune des solutions trouvées ne marche.

J’ai testé : CutyCapt, un script JS, Screen Capture (by Google)Awesome ScreenshotWebpage Screenshot CaptureScreen capture, FireshotNimbus ScreenshotSimple Webpage Capture, et j’en oublie probablement ! Ça commence un poil à me lourder, et je pige pas pourquoi RIEN ne marche. Je manipule quand même pas des images de 2309GB, même en PNG ça doit pas faire plus de 100MB l’image que je veux !

J’ai 8GB de RAM et quand l’option est dispo j’essaie de capturer en JPG au lieu de PNG (je dis ça car Fireshot m’a sorti une erreur comme quoi j’avais besoin de -2700MB de RAM ; oui « moins 2700 », je sais pas ce qu’il a fumé).

HALP !

Là je cherche à capturer une page spécifique, mais il est fort probable que j’ai à capturer d’autres grosses pages un jour ou l’autre, donc ça m’emmerde profondément de trouver aucun soft qui puisse faire ça.

Merci d’avance tout plein si quelqu’un arrive à trouver une solution :slight_smile:

EDIT : Essayé aussi avec Greenshot, le soft de capture d’écran que j’utilise régulièrement (et que je recommande d’ailleurs chaudement) ; j’avais oublié qu’il pouvait capturer des pages webs sous IE. Marche pas non plus. T_T

A tout hasard, l’impression dans un fichier pdf ne convient pas ?

Salut,

La comme ça le plus gros souci c’est le lazy load sur les images qui ne s’affichent qu’au scroll dans la page.
Ça plombe de fait tous les services type http://snapito.com/ qui pourtant fait très bien le job.

Si tu es un peu dev et que tu as touché à node, pourquoi pas tenter Casperjs qui fait ça très bien ?
Si tu es pas dev du tout, il te reste photoshop et plein de screenshots. \o/

Screengrab.

Testé ton lien imgur, je l’ai sauvegardé sans souci (ça pond un png 1363*32760 de 30 mégots).

Edit: ah non, en fait y’a une partie qui manque en bas. 32k pixels semble être la limite de l’addon.

Et en sauvant la page en local et en utilisant une extension chrome ou FF sur la version sauvé en local, ca marche pas mieux ? Vu que comme anaethelion le dit, c’est le lazy load qui fout la merde, passer par une version locale peut ptet resoudre le souci.

Merci pour toutes vos réponses.

Je préviens : je suis pas dév donc je vais peut-être dire de la merde, mais je pige pas trop en quoi le lazy load fout le boxon pour faire mon screenshot. Je précise qu’à chaque fois avant de screenshoter la page je la scrolle en entier et je m’assure que toutes les images soient bien loadées. Vu comment les extensions procèdent (scroll puis screenshot sur la page déjà loadée), si mes images sont déjà loadées ça devrait pas poser de problème, si ? J’ai l’impression que le soucis vient plus de la taille de l’image finale que les softs ne semblent pas apprécier.

The_Cid : même soucis avec Greenshot, ça coupe dans les 32k pixels de hauteurs. Y’aurait pas une limite à la con au niveau des dimensions de l’image ?

EDIT : okay j’ai fini de screenshoter « à la main » et j’ai mis bout à bout sous photoshop : quand je laisse l’image de 45k pixels de hauteur environ Photoshop ne permet que de la sauvegarder en TIFF, RAW ou PSB et m’indique que c’est une image de très grande taille. Quand je la coupe en 2x 22k pixels (donc < 32k pixels) ça passe tout seul dans tous les formats d’image possibles. Y’aurait pas une limite sur les dimensions possibles de certains formats d’image ? Ou dans Windows ? Y’a pas des graphistes ou des personnes qui manipulent de (très) grandes images qui ont déjà rencontré le problème dans le coin ?

Le problème est clos (Greenshot jusqu’à 32k pixels + le reste à la main, puis image découpée en 2 morceaux pour la foutre en PNG), mais je suis quand même curieux de connaitre la raison de cette limitation (j’ai cherché vite fait sur Google mais rien trouvé).

Et si un jour je veux capturer une page qui fait 60k+ pixels de hauteur ça va être un peu lourd de devoir se taper plus de la moitié des screenshots à la mano :confused: Ce qui serait cool c’est de pouvoir spécifier le point de départ de la capture, pour pouvoir capturer par tranches de 30k pixels, mais aucun des softs que j’ai testés ne semble le permettre (ils commencent tous en haut de la page).

J’ai essayé de bidouiller un peu le code de l’extension (screengrab), j’y ai trouvé ce bloc

getFilledCanvas: function(region) {
        if (region.width > 32760) {region.width=32760;}
        if (region.height > 32760) {region.height=32760;}

        var canvas = this.getCanvas();
        this.copyRegionToCanvas(region, canvas);
        return canvas;
    }

En forçant la limite au double (64k pixels), cette fois l’extension ne sauvegarde rien de la page (même pas un bout tronqué comme il l’a fait sans modifs). J’ai comme l’impression qu’il y a en effet une hardlimit quelque part.

Juste pour info, je viens de tester avec Snagit (une v10 qui trainait sur mon disque) et ca marche très bien

J’vais ptet poser une question stupide en rapport avec l’impression PDF, mais tu veux sauvegarder le tout pour quoi, l’imprimer ?

@Skully : Je ne connaissais pas Snagit, j’essaie ça. C’est complètement de l’overkill pour ce que je veux faire, mais je teste par curiosité.

@Gratz : Je voulais juste le sauvegarder pour euh… le sauvegarder, si jamais le tuto n’est plus dispo sur le net (ça m’est déjà arrivé avec un tuto pour modder un stick arcade sans fil et j’avais été bien emmerdé). Dans un format propre et sympathique à l’oeil, et le plus facilement possible (oui ça c’est un peu foiré).

Pour tout ceux qui ont proposé l’impression PDF : ça marche (c’est un des premiers trucs que j’avais testé), mais ça pète la mise en page, en tout cas via Chrome.

ca m’intrigue cette limitation à 32k pixels. Les graphistes, c’est lié au format jpeg ?

Edit : bon, le jpg a bien une limitation de taille, mais elle est de 65k :

JPEG/JFIF supports a maximum image size of 65535×65535

[quote=“Ben, post:11, topic: 55436”][/quote]

C’est pas simplement parceque le code des extensions est en Javascript et que les variables utilisées sont des int (limité en valeur à 32k - 2^15) ? J’ai pas regardé le code source hein mais ca me parait plausible…

[quote=“SkullyFM, post:12, topic: 55436”][/quote]

ha c’est pas con du tout ca …

Voilà voilà :slight_smile: (Firebug » clic droit » copier l’html » changer le base href sur imgur.com » enregistrer la page web)

[quote=“SkullyFM, post:12, topic: 55436”][/quote]

Je peux difficilement croire que Javascript soit aussi pourrave au point d’avoir que des int16, signés. Je sais que c’est moisi, mais a ce point la, c’est pas possible.

@Skully : Y’a peut-être aucun lien, mais pourquoi y’a la même limitation dans Photoshop ? Photoshop peut manipuler/traiter des images de 300k x 300k pixels (d’après ce que j’ai trouvé sur Google), mais dès que tu dépasses 32k px de hauteur il ne permet plus de les sauvegarder en PNG/JPG/GIF/Whatever (uniquement RAW, TIFF, et PSB). Y’aurait bien quand même une limitation pour les formats images “classiques”, non ?

@cedric : Merci bien, mais comme dit plus haut ça y est j’ai réussi à capturer ce que je voulais. Et je voulais capturer ça sous forme d’image, en conservant la mise en forme, ce qui n’est pas le cas de ta méthode.

http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.IHDR

En png, c’est 4 bytes pour le width/height. Ca devrait pas poser de soucis.

[quote=“AnA-l, post:15, topic: 55436”][/quote]

La pour le coup, c’est pas Javascript, mais les devs. Si tu utilises du int au lieu du unsigned int ou d’un unsigned long, c’est pas la faute du langage.

Mais bon, à priori, c’est pas ca :

Nombres

D’après le standard ECMAScript, il y a seulement un seul type de nombre, qui est le “double-precision 64-bit binary format IEEE 754 value”, en particulier il n’y a pas de type spécifique pour les entiers. En plus de pouvoir représenter les nombres à virgule flottante, il a plusieurs valeurs symboliques : +Infinity (Infini positif), -Infinity (Infini négatif), and NaN (n’est pas un nombre).
Bien qu’un nombre ne représente souvent que sa valeur, JavaScript possède plusieurs opérateurs binaires. Ceux-ci peuvent être utilisés pour représenter plusieurs valeurs booléennes en utilisant le masquage de bits. Ceci est généralement considéré comme une mauvaise pratique, puisque JavaScript a d’autres moyens de représenter un ensemble de bookéens (comme un tableau de booléens ou un objet avec des valeurs booléennes associées à des propriétés nommées) et que le masquage de bits rend souvent le code plus difficile à lire, comprendre et maintenir. Il peut être nécessaire d’utiliser ce genre de technique peut s’avérer nécessaire dans des environnements critiques, comme lorsque l’on tente de minimiser l’espace de stockage local ou dans des cas extrêmes où chaque bit transmit sur le réseau compte. Cette technique ne devrait être utilisée qu’en dernier recours pour optimiser la taille.

Source.

https://copy.com/4issd7tIYVeh6QpN

moi là j’ai bien la mise en page à l’identique