コード例 #1
0
        //private static bool ManageParameters_v1(string[] args)
        //{
        //    if (args.Length == 0)
        //    {
        //        _help = true;
        //        return true;
        //    }
        //    foreach (string arg in args)
        //    {
        //        if (arg.StartsWith("-"))
        //        {
        //            if (_docxFileType != DocxFileType.Unknow)
        //            {
        //                //string file = GetDocxFile(_docxFileType);
        //                //if (_extract)
        //                //    file = zPath.GetFileName(file);
        //                _selectFiles.Add(new SelectFile { Type = _docxFileType });
        //                _docxFileType = DocxFileType.Unknow;
        //            }
        //            if (!SetOption(arg))
        //                return false;
        //        }
        //        else
        //        {
        //            if (_docxFileType != DocxFileType.Unknow)
        //            {
        //                _selectFiles.Add(new SelectFile { Type = _docxFileType, File = arg });
        //                _docxFileType = DocxFileType.Unknow;
        //            }
        //            else if (_file == null)
        //                _file = arg;
        //            else if (_directory == null && (_extract || (_generate && _selectFiles.Count == 0)))
        //                _directory = arg;
        //            else
        //            {
        //                Trace.WriteLine($"syntax error \"{arg}\"");
        //                return false;
        //            }
        //        }
        //    }

        //    if (_docxFileType != DocxFileType.Unknow)
        //    {
        //        //string file = GetDocxFile(_docxFileType);
        //        //if (_extract)
        //        //    file = zPath.GetFileName(file);
        //        _selectFiles.Add(new SelectFile { Type = _docxFileType });
        //        _docxFileType = DocxFileType.Unknow;
        //    }

        //    if (!_extract && !_generate)
        //    {
        //        Trace.WriteLine($"error missing -x or -z option");
        //        return false;
        //    }
        //    if (_file == null)
        //    {
        //        Trace.WriteLine("no file specified");
        //        return false;
        //    }

        //    if (_generate)
        //    {
        //        if (_directory == null && _selectFiles.Count == 0)
        //        {
        //            Trace.WriteLine($"error missing directory or files to generate docx");
        //            return false;
        //        }
        //        if (_directory != null && _selectFiles.Count > 0)
        //        {
        //            Trace.WriteLine($"error choose directory or files to generate docx");
        //            return false;
        //        }
        //    }

        //    return true;
        //}

        private static bool SetOption(string option)
        {
            option = option.ToLower();
            // -x extract docx files
            if (option == "-x")
            {
                if (_generate)
                {
                    Trace.WriteLine($"error -x and -z cannot be used at same time");
                    return(false);
                }
                _extract = true;
            }
            // -z generate docx
            else if (option == "-z")
            {
                if (_extract)
                {
                    Trace.WriteLine($"error -x and -z cannot be used at same time");
                    return(false);
                }
                _generate = true;
            }
            // -f:name[=file]
            else if (option.StartsWith("-f:"))
            {
                int    i = option.IndexOf('=');
                string fileType;
                if (i == -1)
                {
                    fileType = option.Substring(3);
                }
                else
                {
                    fileType = option.Substring(3, i - 3);
                }
                DocxFileType docxFileType = GetDocxFileType(fileType);
                //_docxFileType = GetDocxFileType(option.Substring(3));
                if (docxFileType == DocxFileType.Unknow)
                {
                    Trace.WriteLine($"unknow value for option \"{option}\"");
                    return(false);
                }
                string file = null;
                if (i != -1)
                {
                    file = option.Substring(i + 1);
                }
                _selectFiles.Add(new SelectFile {
                    Type = docxFileType, File = file
                });
            }
            else
            {
                Trace.WriteLine($"unknow option \"{option}\"");
                return(false);
            }
            return(true);
        }
コード例 #2
0
        private static string GetDocxFile(DocxFileType docxFileType)
        {
            switch (docxFileType)
            {
            case DocxFileType.Document:
                return("word/document.xml");

            case DocxFileType.Style:
                return("word/styles.xml");

            case DocxFileType.StyleWE:
                return("word/stylesWithEffects.xml");

            case DocxFileType.Setting:
                return("word/settings.xml");

            case DocxFileType.WebSetting:
                return("word/webSettings.xml");

            case DocxFileType.Header:
                return("word/header1.xml");

            case DocxFileType.Footer:
                return("word/footer1.xml");

            case DocxFileType.FooterNote:
                return("word/footnotes.xml");

            case DocxFileType.EndNote:
                return("word/endnotes.xml");

            case DocxFileType.FontTable:
                return("word/fontTable.xml");

            case DocxFileType.Theme:
                return("word/theme/theme1.xml");

            case DocxFileType.DocumentRels:
                return("word/document.xml.rels");

            case DocxFileType.ContentType:
                return("[Content_Types].xml");

            case DocxFileType.Rels:
                return(".rels");

            case DocxFileType.AppDocProps:
                return("docProps/app.xml");

            case DocxFileType.CoreDocProps:
                return("docProps/core.xml");

            default:
                throw new PBException($"unknow DocxFileType {docxFileType}");
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: labeuze/source
 private static string GetDocxFile(DocxFileType docxFileType)
 {
     switch (docxFileType)
     {
         case DocxFileType.Document:
             return "word/document.xml";
         case DocxFileType.Style:
             return "word/styles.xml";
         case DocxFileType.StyleWE:
             return "word/stylesWithEffects.xml";
         case DocxFileType.Setting:
             return "word/settings.xml";
         case DocxFileType.WebSetting:
             return "word/webSettings.xml";
         case DocxFileType.Header:
             return "word/header1.xml";
         case DocxFileType.Footer:
             return "word/footer1.xml";
         case DocxFileType.FooterNote:
             return "word/footnotes.xml";
         case DocxFileType.EndNote:
             return "word/endnotes.xml";
         case DocxFileType.FontTable:
             return "word/fontTable.xml";
         case DocxFileType.Theme:
             return "word/theme/theme1.xml";
         case DocxFileType.DocumentRels:
             return "word/document.xml.rels";
         case DocxFileType.ContentType:
             return "[Content_Types].xml";
         case DocxFileType.Rels:
             return ".rels";
         case DocxFileType.AppDocProps:
             return "docProps/app.xml";
         case DocxFileType.CoreDocProps:
             return "docProps/core.xml";
         default:
             throw new PBException($"unknow DocxFileType {docxFileType}");
     }
 }
コード例 #4
0
ファイル: Program.cs プロジェクト: labeuze/source
 // add docx file name to docx file
 private static string GetSpecificDocxFile(DocxFileType docxFileType)
 {
     return zPath.GetFileNameWithoutExtension(_file) + "." + zPath.GetFileName(GetDocxFile(docxFileType));
 }
コード例 #5
0
ファイル: Program.cs プロジェクト: labeuze/source
 private static bool SetOption(string option)
 {
     option = option.ToLower();
     // -x extract docx files
     if (option == "-x")
     {
         if (_generate)
         {
             Trace.WriteLine($"error -x and -z cannot be used at same time");
             return false;
         }
         _extract = true;
     }
     // -z generate docx
     else if (option == "-z")
     {
         if (_extract)
         {
             Trace.WriteLine($"error -x and -z cannot be used at same time");
             return false;
         }
         _generate = true;
     }
     // -f:name
     else if (option.StartsWith("-f:"))
     {
         //_renameFiles = true;
         _docxFileType = GetDocxFileType(option.Substring(3));
         if (_docxFileType == DocxFileType.Unknow)
         {
             Trace.WriteLine($"unknow value for option \"{option}\"");
             return false;
         }
         //if (_extract)
         //{
         //    if (_filesToExtract == null)
         //        _filesToExtract = new List<DocxFile>();
         //    _filesToExtract.Add(_docxFile);
         //}
     }
     else
     {
         Trace.WriteLine($"unknow option \"{option}\"");
         return false;
     }
     return true;
 }
コード例 #6
0
ファイル: Program.cs プロジェクト: labeuze/source
        private static bool ManageParameters(string[] args)
        {
            if (args.Length == 0)
            {
                _help = true;
                return true;
            }
            foreach (string arg in args)
            {
                if (arg.StartsWith("-"))
                {
                    if (_docxFileType != DocxFileType.Unknow)
                    {
                        //string file = GetDocxFile(_docxFileType);
                        //if (_extract)
                        //    file = zPath.GetFileName(file);
                        _selectFiles.Add(new SelectFile { Type = _docxFileType });
                        _docxFileType = DocxFileType.Unknow;
                    }
                    if (!SetOption(arg))
                        return false;
                }
                else
                {
                    if (_docxFileType != DocxFileType.Unknow)
                    {
                        _selectFiles.Add(new SelectFile { Type = _docxFileType, File = arg });
                        _docxFileType = DocxFileType.Unknow;
                    }
                    else if (_file == null)
                        _file = arg;
                    else if (_directory == null && (_extract || (_generate && _selectFiles.Count == 0)))
                        _directory = arg;
                    else
                    {
                        Trace.WriteLine($"syntax error \"{arg}\"");
                        return false;
                    }
                }
            }

            if (_docxFileType != DocxFileType.Unknow)
            {
                //string file = GetDocxFile(_docxFileType);
                //if (_extract)
                //    file = zPath.GetFileName(file);
                _selectFiles.Add(new SelectFile { Type = _docxFileType });
                _docxFileType = DocxFileType.Unknow;
            }

            if (!_extract && !_generate)
            {
                Trace.WriteLine($"error missing -x or -z option");
                return false;
            }
            if (_file == null)
            {
                Trace.WriteLine("no file specified");
                return false;
            }

            if (_generate)
            {
                if (_directory == null && _selectFiles.Count == 0)
                {
                    Trace.WriteLine($"error missing directory or files to generate docx");
                    return false;
                }
                if (_directory != null && _selectFiles.Count > 0)
                {
                    Trace.WriteLine($"error choose directory or files to generate docx");
                    return false;
                }
            }

            return true;
        }
コード例 #7
0
 // add docx file name to docx file
 private static string GetSpecificDocxFile(DocxFileType docxFileType)
 {
     return(zPath.GetFileNameWithoutExtension(_file) + "." + zPath.GetFileName(GetDocxFile(docxFileType)));
 }