MS Word 2007+ - “.docx” dosyasını PDF'ye yayınlarken “URI” yerine “Başlat” PDF Eylem Türünü kullanarak köprüleri kodlayabilir mi?


9

Kısa versiyon:

  • Ben MS Word 2007 (veya daha yeni) kodlamak göreli dosya köprüler getirmenin herhangi bir yolu var mı (köprü, işaret, örneğin başka bir PDF dosyası) Eylem Tipi kullanılarak Launchyerine URI(sayfa Adobe Portable Document Format 653 üzerinde belirtilen iki tür, PDF Başvurusu, sürüm 1.7, altıncı sürüm - http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/tr/devnet/pdf/pdfs/pdf_reference_1-7.pdf )? Yoksa tüm "yanlış" URIkodlanmış dosya köprülerini Launcheşdeğerlerine çevirebilen bir son işlemci uygulamak için tek çözüm mü?

Ayrıntılı sürüm:

İki Word dokümanım var; doc1.docxve doc2.docx(her ikisi de MS Word 2007 ile derlenmiştir).

Gelen doc1.docxbenim ikinci belgenin (PDF versiyonunda köprü yerleştirmek doc2.pdf) - şimdi ben var:

<code> doc1.docx </code> içindeki <code> doc2.pdf </code> köprünün özellikleri

Daha sonra doc1.docxdosyayı her ikisi olarak da kaydediyorum .docxve .pdf- PDFnesil, aşağıdaki seçenekleri kullanarak MS Word 2007'deki yerleşik PDF yayıncısı tarafından işleniyor:

MS Word 2007 PDF Yayınlama Özellikleri

Şimdiye kadar iyi - Sonra aşağıdaki klasör yapısı var:

/superuser
    - doc1.docx
    - doc1.pdf
    - doc2.docx
    - doc2.pdf

Sonra doc1.pdfAdobe Reader X (sürüm 10.1.3) ile açıyorum ve işaret eden köprüyü tıklıyorum doc2.pdf. Bağlantı göreli olarak, Adobe Reader X'in hedef PDF dosyasını ayrı bir pencerede veya Adobe Reader X'in aynı örneğinde açacağını tahmin etmiş / varsaymıştım ( Open cross-document links in same windowiçinde belirtilen seçeneğe bağlı olarak Edit -> Preferences -> Documents).

Ancak durum böyle değil . Bunun yerine, Adobe Reader X, varsayılan tarayıcıyı (benim durumumda Windows 7 x64'te Google Chrome v21 +) kullanarak köprüyü çözer - ve açık olmak gerekirse - bu problemdir . Adobe Reader X'in (ve öncüllerinin çoğunun) hedef PDF'yi Adobe Reader X'in başka bir örneğinde açarak köprüyü çözmesini istiyorum ( Open cross-document links in same windowseçeneğin işaretini kaldırdığımı varsayarak ). Aynı senaryoyu (varsayılan) PDF okuyucumla tekrarlamak; Sumatra PDF beklendiği gibi çalışıyor - Sumatra PDF hedef PDF dosyasını ayrı bir pencerede açar ve bana içeriğini gösterirdoc2.pdf. Öyleyse neden Sumatra PDF'yi kullanmıyorsunuz? Çok isterdim - ancak sorun şu ki, potansiyel olarak çok sayıda son kullanıcısı olan bir proje üzerinde çalışıyorum ve hepsinin Adobe Reader X'tan başka bir PDF okuyucu kullandığını düşünemiyorum - bu yüzden başka bir yol yok Adobe Reader X ile neler olup bittiğini bulmak.

Oraya ulaşmak için kazmaya başladım.

İlk olarak, Chrome'daki adres çubuğuna bakarak Adobe Reader X'in URI şemasını doc2.pdfkullanarak çözmeye çalıştığı görülüyor file: file:///C:/superuser/doc2.pdf- bu bana adil geliyor (aynı URI'yi RunWindows 7'deki iletişim kutusuna yapıştırmak varsayılan PDF okuyucuma neden oluyor (Sumatra PDF) ), ancak Adobe Reader X neden PDF'den işlemek için varsayılan tarayıcıyı istiyor?

Bunu cevaplamak için kazmaya devam ettim. doc1.pdfNotepad ++ ile açıldığında , köprünün URIEylem Türü kullanılarak kodlandığı ortaya çıktı (Adobe Taşınabilir Belge Biçimi, PDF Başvurusu, sürüm 1.7, altıncı sürümdeki s. 653 ve 662'ye bakın - http://wwwimages.adobe.com/www.adobe) .com / content / dam / Adobe / tr / devnet / pdf / pdfs / pdf_reference_1-7.pdf ):

/Type/Action/S/URI/URI(doc2.pdf)

PDF referansı (s. 662), URIEylem Türü hakkında aşağıdakileri belirtir :

Tekdüzen bir kaynak tanımlayıcısı (URI), bir sorguya veya başka bir varlığa da çözümlenebilmesine rağmen, genellikle bir köprü metni bağlantısının hedefi olan bir dosya olan Internet'teki bir kaynağı tanımlayan (çözen) bir dizedir.

Adobe Reader X'te ilk başta büyük bir hata gibi görünen şey adil bir uygulama gibi görünmeye başladı. En azından, bu noktada Adobe Reader X'in neden böyle davrandığını anladım - cevaplamak için yeni bir soruya neden oldum: doc2.pdfsonuçta ortaya çıkan PDF'nin Adobe Reader X'i yapacağı şekilde bir dosya köprüsünü (örneğin bir bağlantı ) nasıl doğru şekilde kodlayabilirim? (varsayılan tarayıcıdan işini yapmasını istemek yerine) bağlantının kendisini mi tutabilirsiniz?

PDF spesifikasyonuna yeniden baktığımı ve Eylem Türü'nü bulduğumu cevaplamak için Launch- bu tür hakkında, PDF referansında şunlar belirtilir (s. 659):

Başlatma eylemi bir uygulamayı başlatır veya bir belge açar veya yazdırır.

Yani aşağıdaki değişikliği yaparak (notepad ++ kullanarak):

Değiştirme:

/Type/Action/S/URI/URI(doc2.pdf)

Bununla:

/Type/Action/S/Launch/F(doc2.pdf)

... Adobe Reader X daha sonra doc2.pdfdosyayı ayrı bir pencerede / Adobe Reader X'in başka bir örneğinde açarak bağlantıyı çözer - yine Open cross-document links in same windowseçeneğin işaretini kaldırdığımı varsayarsak (Yaşasın !!).

Ve şimdi henüz çözmeyi başaramadığım gerçek / son soruya - MS Word 2007'yi (veya daha yeni) göreli dosya köprülerini (örneğin, başka bir PDF dosyasını gösteren) bir köprüyü kodlayabilmemin herhangi bir yolu var mı? İşlem Türü Launchyerine URI(her iki tür de Adobe Taşınabilir Belge Biçimi, PDF Başvurusu, sürüm 1.7, altıncı sürümün 653. sayfasında belirtilmiştir - http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/tr /devnet/pdf/pdfs/pdf_reference_1-7.pdf )? Yoksa tüm "yanlış" URIkodlanmış dosya köprülerini Launcheşdeğerlerine değiştirebilen bir tür post-işlemci uygulaması uygulamak için tek çözüm mü?

Bunun bir sürü "TLDR" ye neden olabileceğini biliyorum - ama buraya gelmeyi başarırsanız ilginizi gerçekten takdir ediyorum ve umarım siz ya da bir başkası beni doğru yöne yönlendirebilir.

Teşekkürler.


2
Yorumlar bir soru 'çarpmak' emin değilim, ama bu okumaya değer.
Tanner Faulkner

1
Sorunuz için teşekkürler. Kendi başına çok fazla ayrıntı ve olası bir çözüm içerir. Bunu yapmanın daha iyi bir yolunu bulmayı başardın mı? Eylemin değiştirilmesi iyi çalışıyor.
Farish

1
@Farish Maalesef hayır. Şimdiye kadar, bir post işlemci kullanmak benim için çalışan bir çözüm oldu. Bir gün daha iyi bir yol bulursam, burada bir güncelleme göndereceğim :)
Lasse Christiansen

Yanıtlar:


2

Mükemmel makaleniz için teşekkür ederim. İşe yarıyor! İlk başta benim için değil ama sonra adobe X'da 'korumalı modu' kapatmanız gerektiğini keşfettim. Bu problemi adobe 9'da hiç yok. Bana öyle geliyor ki, sektörde işlevsellik konusunda geriye gidiyor. güvenliğin adı.

Adobe Reader X'te şunları yapın:

  1. Açık çapraz dokümanların işaretli olmadığından emin olun. (Dediğin gibi)
  2. Korumalı modu kapatma: Düzenle »Tercihler» Genel
  3. Ara ve yerine /Type/Action/S/URI/URIsahip /Type/Action/S/Launch/F(, uygun bir altıgen düzenleyicisi kullanarak

Yapmak istediğimiz şey için kolay bir çözüm yoktur, sadece ayarları olmayan bir PDF okuyucusuna sahip herhangi bir kullanıcının uğraşmasına, bir klasörde gezinmesine izin verir.
Ancak tüm çalışmalarınız ve konuya attığı ışık için tekrar teşekkürler.


Bir "post işlemci" fikrini kullanarak çalışması sevindim. Soruyu gönderdiğimden beri hala daha iyi bir çözüm bulamadım, bu yüzden daha iyi bir çözüm bulunana kadar işlem sonrası adımı kullanmaya devam edeceğim. Girişiniz için teşekkürler :)
Lasse Christiansen

0

FWIW, Dosya adı boşluk içeriyorsa, bağlantıların Sumatra'da çalıştığını düşünmüyorum (Word, bağlantıyı oluştururken bu satırları kaldırdığı için adın etrafına tırnak koymak yardımcı olmadı). Word'ün davranışını değiştirmenin mümkün olduğuna inanmıyorum, bu yüzden ...

Geçici Çözüm # 1: Daha iyi bir PDF oluşturucu kullanın.

Geçici çözüm # 2: Word ile PDF oluşturun zamanki gibi, o gibi bir onaltılık editörü veya bir komut satırı yardımcı programını kullanmak http://stahlforce.com/dev/index.php?tool=rep tüm gerekli örneklerini değiştirmek için / Türü / Aksiyon / S / URI / URI ( ile / Türü / Aksiyon / S / başlat / F ( .


0

Yeniden. göreceli köprü sorusu.

MS Office Yardımı, 'kaydetme üzerindeki bağlantıları güncelle' ayarının (Office düğmesi / Word seçenekleri düğmesi / gelişmiş / Web otions düğmesi) köprü ekleme işleminin göreli olmasına neden olduğunu belirtir. İşaretlenmezse, mutlak olurlar. Ancak bu ortam benim girişimlerimden hiç farklı olmadı. Ne oldu, dosyanın kaydedildiği nokta idi. Göreli bağlantılar oluşturmak için yeni bir boş dosya açarım ve herhangi bir bağlantı eklemeden önce uygun bir klasöre kaydettim. "Köprü ekle" kutusunda "mevcut klasör" ü seçin. Kutuda gösterilen klasör, daha sonra kaydedilmemiş ağacın aşağı doğru değil, yukarı doğru olan klasördür. yani göreceli

Mutlak bağlantılar oluşturmak için yeni bir boş dosya açıyorum ve kaydetmeden bağlantıyı ekliyorum. Ekle kutusu artık mevcut klasörü en üst düzeyde gösterir. Bağlanılacak dosyaya gidin ve kutunun altında gösterilen yol C: yolunun tam yoludur. . . . . .. (sürücü harfini gösterir) yani mutlak.

İmleci iki Word dosyasındaki bağlantıların üzerine getirerek her iki durumda da tam mutlak yolu gösterir. Ancak üst klasör başka bir sürücüye kopyalanırsa, göreli bağlantı yeni sürücüdeki klasörü açar ve mutlak bağlantı C: sürücü klasörüne geri döner. Tek bir dosyada her iki bağlantı türünü nasıl yapacağımı henüz keşfetmedim. Ama yine de buna ihtiyacım yok. Yukarıdaki altıgen düzenleme değişikliğinizi kullanarak hem MS Word dosyalarımı pdf'ye dönüştürdüm, hem de ikisi de mutlak modda, diğeri de çalıştı.

Yeniden. 'onaltılık düzenleme trafiği yönteminiz'

Bazı durumlarda benim için iyi çalıştı, diğerleri için değil. Hedef dosya adlarının tham'da boşluk olmadığından emin olmam gerektiğini buldum. Bunları alt çizgi simgesiyle değiştirdim. Sonra çalıştılar.


0

Bunu şimdi kendim için mümkün olduğu kadar alt üst ettim. Doğrudan orijinal soru ile ilgili olduğu için, nihai özetimi ileteceğim.

Yeniden. aynı belgedeki mutlak ve göreli bağlantılar

Köprü ekle kutusunun altında gösterilen yola bakın. Üst düzey klasör seçtiğiniz klasörse, bağlantı ona göreli olacaktır. Mutlak olması için, sürücü harfine kadar yukarı doğru delmek için 'insert' kutusundaki ağaç yapısını kullanın. Varsayılan dosya ilk olarak 'üst' klasöre kaydedildiğinde göreli bağlantılar içindir.

Taşınabilir bir Dizin Bağlantı Klasörü Oluşturma Adımları

(alt klasörlerdeki dosyalara bağlantı veren bir 'dizin' belgesi ile.)

  1. Taşınacak klasör olacak yeni bir klasör oluşturun ('Üst' klasör).

  2. Dosyaları ile alt klasörler oluşturun veya Ana klasöre yerleştirin.

  3. Şimdi 'indeks belgeniz' olacak bir Word 2007 belgesi açın. Herhangi bir bağlantı eklemeden önce bu dosyayı 'ebeveyninize' kaydedin.

  4. Şimdi 'köprü ekle' yazınız. 'Köprü ekle' kutusu klasör / dosya ağacı yapısını 'üst öğeden' aşağıya doğru görüntüler. Mutlak bir bağlantı yapmak için sürücü harfine kadar yukarı doğru delin.

  5. Şimdi 'index doc' olarak çalışacak Word dosyasını kaydedin

  6. 'İndex doc' dosyasını pdf'ye dönüştürmek için kelime dosyasını açın ve PDF olarak kaydedin. Dizin belgesinin bu sürümü, hedef dosyaları tarayıcı aracılığıyla indirerek veya tarayıcıda PDF olarak görüntüleyerek açar.

  7. 'Index.pdf' belgesinin yerel uygulamalarındaki bağlantıları açmasını sağlamak için, daha önce açıklanan onaltılık düzenleme yöntemini ve / Type / Action / S / URI / URI (/ Type / Action / S / Launch / F) alt öğesini kullanarak dosyayı değiştirin. (

  8. 3.Önemli Not! .Pdf dosyasını değiştirmeden önce, tüm klasör ve dosya adlarında boşluk olmadığından emin olun. Alt çizgi veya tire ile alt boşluklar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.