2009-04-30 4 views
4

Lorsque R crée des fichiers PDF à l'aide de pdf(), il inclut un CreationDate et un ModDate dans le fichier PDF. J'ai un certain nombre de ces fichiers PDF générés dans un dépôt svn et l'effet est que lorsque les chiffres sont refaits par R, même avec les mêmes données, ils apparaissent comme modifiés (à juste titre) à svn. Quel est le meilleur moyen de faire en sorte que les deux jouent bien ensemble?Suppression ou définition de CreationDate/ModDate dans la sortie de document R

Je pourrais simplement enlever ces lignes des PDF en dehors de R, mais cette étape supplémentaire n'est pas souhaitable.
Je pourrais définir l'heure du système à une certaine valeur fixe dans le cadre de l'exécution des scripts, mais cela est encore moins souhaitable.
Je pourrais probablement même convaincre svn d'utiliser un diff spécialisé qui a ignoré les changements sur ces lignes, mais cela ressemble à plus de problèmes que cela en vaut la peine.

Une solution très agréable serait s'il y avait un moyen d'empêcher R de mettre ces lignes dans le fichier PDF en premier lieu. J'ai un système de fichiers à me dire quand les fichiers ont été créés et modifiés merci beaucoup, je n'ai pas besoin de ces informations stockées dans le fichier aussi bien.

Répondre

3

Je suis d'accord avec Tal, les fichiers générés ne devraient pas être en contrôle de version.

En ce qui concerne votre question initiale, je pense que la réponse est non, vous ne pouvez pas empêcher R de le faire. J'ai trouvé aucune mention de ces options dans le fichier d'aide R pdf, http://www.r-cookbook.com/rhelp/pdf.html

Si vous jetez un oeil à la fonction pdf à l'intérieur de R (il suffit d'exécuter « pdf » sans parenthèses pour une impression du code), il crée en fait le fichier pdf avec un appel à:

.External(PDF, file, old$paper, old$family, old$encoding, old$bg, old$fg, 
     old$width, old$height, old$pointsize, onefile, old$pagecentre, old$title, 
     old$fonts, version[1L], version[2L], old$colormodel, old$useDingbats, 
     old$useKerning) 

Aucune mention des options que vous recherchez, vous êtes donc probablement pas de chance. À moins que vous ne souhaitiez retrouver le code que R utilise pour générer un PDF et le modifier.

3

Bien que cela ne réponde pas vraiment à votre question, il est généralement préférable d'exclure les fichiers générés automatiquement du contrôle de la source, exactement pour cette raison.

+1

Je ne suis pas vraiment d'accord. Par exemple, en optimisant certains algorithmes, vous voulez vous assurer que l'optimisation ne change pas la sortie (qui est peut-être utilisée dans votre autre travail). Mettre la sortie sous contrôle de version est une façon de tester, même si ce n'est peut-être pas le meilleur moyen. –

Questions connexes