8
votes

Ouvrez un fichier PDF programmatiquement à une destination nommée

Je voudrais ouvrir un fichier PDF à la destination nommée à l'aide de Winforms (C #). Voici mon code:

myProcess.StartInfo.Arguments = "/A \"page=5=OpenActions\" C:\\example.pdf";


3 commentaires

Est-ce que cela fonctionne si vous exécutez la commande de la ligne de commande? Avez-vous essayé d'autres versions d'Acrobat ou d'autres systèmes? Cela pourrait être un bug acrobat ou peut-être que votre installation est mauvaise?


J'ai essayé de l'exécuter de la ligne de commande et cela n'a pas fonctionné. Si je passe le paramètre numéro de page, il fonctionne mais pas à l'aide de destinations. J'ai même installé une nouvelle version d'Acrobat un nouvel ordinateur et n'avait aucun succès.


Si cela ne fonctionne pas, la ligne de commande ne fonctionne pas, ce n'est même pas une question liée à la programmation. C'est une question sur Adobe Reader. Ce n'est pas vraiment la place pour ce type de question - essayez de demander à forums.adobe.com/communité / Adobe_Reader_Forums / Adobe_Reader


5 Réponses :


0
votes

Avez-vous configuré les destinations? Vous devez avoir les versions standard ou professionnelles d'Adobe Acrobat afin de le faire:

http://kb2.adobe.com/cps/317/317300.html


1 commentaires

Oui, j'utilise Adobe Acrobat 8 ​​version standard 1.8.3. À l'intérieur Adobe, toutes les destinations semblent bien. En cliquant sur l'un d'entre eux, vous naviguez dans le document.



3
votes

Concernant la documentation Adobe Lors de l'ouverture d'un document PDF à partir d'une coquille de commande, vous pouvez transmettre les paramètres à la commande Ouvrir à l'aide du commutateur / A à l'aide de la syntaxe suivante:

myProcess.StartInfo.Arguments = "/A \"nameddest=Test2\" C:\\example.pdf";


0 commentaires

0
votes

Adobe Reader a quelques bugs concernant l'ouverture à des destinations nommées. Jetez un coup d'œil à http://xenon.arcticus.com/open- pdf-nommé-destination-dde-cc pour des informations et des travaux de contournement.


0 commentaires

2
votes

J'ai un CSV avec 5 colonnes. La colonne1 contient des noms PDF et des pagénumbers de colonne5. L'exécutable affiche le CSV. Lorsque je double sur une ligne dans la ligne CSV, le code suivant est exécuté:

ListViewItem item = lvwItems.SelectedItems[0];
Process myProcess = new Process();
myProcess.StartInfo.FileName = "Acrobat.exe";
myProcess.StartInfo.Arguments = "/A page=" + item.SubItems[4].Text + " " + item.Text;
myProcess.Start();


0 commentaires

8
votes

J'utilise le code suivant: xxx

notez le "/ n" à l'intérieur des paramètres. Il rend Adobe à toujours ouvrir un nouveau document. Sinon, si le document était déjà ouvert, il ne la déplace pas à la bonne destination nommée. Cela dépend du comportement que vous souhaitez pour votre application.


0 commentaires