
Recherche avancée
Médias (2)
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
Autres articles (79)
-
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Activation de l’inscription des visiteurs
12 avril 2011, parIl est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)
Sur d’autres sites (7843)
-
How to Capture a Sequence of High-Quality PDF Frames from a Website (Without Screen Recording) ?
9 mars, par Pubg MobileIn Firefox, I can take very high-quality screenshots of a webpage by using Ctrl + P and saving the page as a PDF. This method preserves the text, images, and code in excellent resolution.


Now, I have created a movable bar chart race in Flourish Studio and want to convert it into a high-quality video. However, I do not want to use screen recording tools.


My Goal :

I want to capture 30 high-resolution PDF frames from the website at different points in time (like a video sequence). Ideally, I need a tool or script that can automate the process of saving multiple PDFs from the website as it plays the animation.

What I Tried :

I attempted to write a Python script that :

Opens the local HTML file of my Flourish chart in Firefox using Selenium.

Waits for the page to load.

Listens for the F1 key and triggers Ctrl + P to print the page as a PDF.

However, the script does not save the PDF file in the output folder. I'm not sure why.

Here is my code :


import time
import keyboard
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.options import Options

# Define paths
html_file_path = r"E:\Desktop\New folder (4)\20250309101616805.html"
geckodriver_path = r"E:\Desktop\New folder (4)\geckodriver.exe"
save_path = r"E:\Desktop\New folder (4)\New folder\output.pdf" # Save PDF location

# Set up Firefox options
options = Options()
options.set_preference("print.always_print_silent", True) # Silent printing
options.set_preference("print.show_print_progress", False) # Hide progress
options.set_preference("print.print_to_file", True) # Print to file
options.set_preference("print.save_print_settings", True) # Save settings
options.set_preference("print.printer_PDF", "Save as PDF") # Set printer
options.set_preference("print.print_to_file", True) # Enable saving print output to file
options.set_preference("print.print_file_name", save_path) # Define the save location for PDF

# Start WebDriver
service = Service(executable_path=geckodriver_path)
driver = webdriver.Firefox(service=service, options=options)

# Open the HTML file
driver.get("file:///" + html_file_path)

# Wait for the page to load
time.sleep(2)

print("Press F1 to save as PDF.")

# Listen for F1 key press
while True:
 if keyboard.is_pressed('F1'):
 print("F1 pressed, saving as PDF...")
 
 # Trigger print command (Ctrl + P)
 body = driver.find_element(By.TAG_NAME, 'body')
 body.send_keys(Keys.CONTROL + 'p')
 
 # Wait for the print dialog to process
 time.sleep(2)

 print("PDF should be saved to:", save_path)
 break

# Close browser
driver.quit()



My Questions :


Why is my script not saving the PDF in the specified output folder ?


Is there a better way to automate capturing 30 sequential PDFs from the website at different animation frames ?


Is there any tool or script that can generate a sequence of PDFs (like 30 frames per second) from a webpage ?


Important :


I do NOT want to use screen recording tools.


I only need high-quality PDF frames that can later be converted into a video.


Any help would be greatly appreciated !


-
Revision 48944 : Ajout des colonnes dans la page exec=mutualisation permettant de ...
20 juin 2011, par yffic@… — LogAjout des colonnes dans la page exec=mutualisation permettant de visualiser la taille des répertoires local, IMG et tmp/cache. Les calculs de sont lancés qu’après appui sur un bouton car ils sont assez long à effectuer. Ces calculs sont lancés en ajax, si le résultat en cours d’élaboration dépasse 500Mo (sans doute à régler à l’usage), la phase ajax est relancée pour chacun des sous répertoires (Ceci doit permettre d’éviter d’atteindre le max_execution_time de php).
Voilà, c’est à tester et si ça pose des problèmes que je n’ai pas vus, je dé-commite. -
Revision 48944 : Ajout des colonnes dans la page exec=mutualisation permettant de ...
20 juin 2011, par yffic@… — LogAjout des colonnes dans la page exec=mutualisation permettant de visualiser la taille des répertoires local, IMG et tmp/cache. Les calculs de sont lancés qu’après appui sur un bouton car ils sont assez long à effectuer. Ces calculs sont lancés en ajax, si le résultat en cours d’élaboration dépasse 500Mo (sans doute à régler à l’usage), la phase ajax est relancée pour chacun des sous répertoires (Ceci doit permettre d’éviter d’atteindre le max_execution_time de php).
Voilà, c’est à tester et si ça pose des problèmes que je n’ai pas vus, je dé-commite.