• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Mixed-Signal Design
  3. PDF files in library manager

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 64
  • Views 5997
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

PDF files in library manager

Continuum
Continuum over 2 years ago

Is it possible to deposit PDF files into a design repository and then open and view them from the library manager?

Some one told me that it is possible if I use document.pdf as the filename and set the master.tag accordingly.  But that does not seem to work for me.

Is there a plugin I must install?

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 2 years ago

    It's not a viewType registered as standard, but this article explains how to add support to the data registry: DFII: How to register a pdf, openOffice and an html view in the Virtuoso Design Environment

    Regards,

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Continuum
    Continuum over 2 years ago in reply to Andrew Beckett

    Thanks Andrew.  That apnote is dated and a bit of a mess, but I was able to use it to work through the issues I was having.  For any that follow me, here is what I ended up doing to install zathura as a PDF viewer in the library manager.  Zathura is a PDF viewer that supports Vim-like keystroke navigation that is a very efficient way to view a file.

    First I needed to add a file that introduces zathura to the registry.  I placed that file here: $CDSHOME/share/cdssetup/registry/data/zathura.reg

        // Data Register file for adding pdf view
        DataFormat Zathura {
            Pattern=document.pdf;
            Preferred_Editor=Zathura;
            dfII_ViewType=document;
            Co_Managed=document.pdf master.tag ;
        }
        ViewAlias {
            document=Zathura;
        }
        Tool Zathura {}

    Then, I needed some skill code, which I placed in ~/.cdsinit so that was loaded automatically:

        /* Add PDF view an associate it with Zathura viewer */
    procedure(
    openPdfDataTrigger(argList)
    let(
    (
    mode(getq(argList accessMode))
    libName(getq(argList libName))
    cellName(getq(argList cellName))
    viewName(getq(argList viewName))
    fileId
    fileName
    )
    if(fileId = ddGetObj(libName cellName viewName "document.pdf" nil "r") then
    fileName = strcat(
    ddGetObjWritePath(ddGetObj(libName cellName viewName))
    "/document.pdf"
    )
    system(sprintf( nil "/usr/bin/zathura %s &" fileName))
    )
    t
    )
    );

    ; Dummy trigger functions
    procedure( CCSpdfAppTrig(argL) t )
    procedure( CCSpdfEnableTrig(@optional argL) t )

    ; Registration function
    procedure(
    CCSpdfRegister()
    deRegApp(
    ?appName "Zathura"
    ?appTrigger 'CCSpdfAppTrig ; Dummy function
    ?dataTrigger 'openPdfDataTrigger
    ?enableTrigger 'CCSpdfEnableTrig ; Dummy function
    ?viewType "document"
    ?widgetType "none"
    )
    )

    ; Register the triggers
    CCSpdfRegister()

    envSetVal("graphic" "viewNameToTypeList" 'string "document document.od* pdf")

    Finally, I manually created a cellview for my PDF file. The file must be named 'document.pdf' and must have a corresponding master.tag file file. Then simply restart virtuoso.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to Continuum
    Continuum said:
    That apnote is dated and a bit of a mess

    Completely agree. This is one of those articles that whenever I see it I want to rewrite it completely and do a better job of explaining it. I can't get the original author to do it since they're no longer around. Maybe I'll have a chance at some point...

    Anyway, thanks for your clear outline of what you did to make this work.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to Continuum
    Continuum said:
    That apnote is dated and a bit of a mess

    Completely agree. This is one of those articles that whenever I see it I want to rewrite it completely and do a better job of explaining it. I can't get the original author to do it since they're no longer around. Maybe I'll have a chance at some point...

    Anyway, thanks for your clear outline of what you did to make this work.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information