דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. איך ליצור קובץ כדוגמת קבלה וכדו'?

איך ליצור קובץ כדוגמת קבלה וכדו'?

מתוזמן נעוץ נעול הועבר ארכיון code613m
11 פוסטים 4 כותבים 631 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • S מנותק
    S מנותק
    softs
    כתב ב נערך לאחרונה על ידי
    #2

    http://tchumim.com/topic/781

    פורסם במקור בפורום CODE613 ב15/10/2015 17:06 (+03:00)

    תגובה 1 תגובה אחרונה
    1
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #3

      מסמך לשמירה הכי קל (מובנה ב.NET) זה פורמט XPS.

      תיצור UserControle חדש.
      תן לו גובה ורוחב של A4 (או תאגד אותם להגדה בשביל לקחת מהמדפסת את הפרטים הללו).
      תעצב מה שאתה רוצה, ותן שמות לאלמנטים עם תוכן דינמי או לחילופין תן להם בינידנג להכנה למידע משתנה.

      בעת יצירת המסמך כתוב קוד בדומה לזה:

      void SaveDataAsXpsDoc()
      {
          var dataArray = new[] {new Data()};
          var doc = CreateDocument(dataArray);
          SaveFixedDoc(doc, @"c:\1.xps");
      }
      
      void SaveFixedDoc(FixedDocument doc, string fileName)
      {
          XpsDocument xpsd = new XpsDocument(fileName, FileAccess.ReadWrite);
          XpsDocumentWriter xw = XpsDocument.CreateXpsDocumentWriter(xpsd);
          xw.Write(doc);
          xpsd.Close();
      }
      
      FixedDocument CreateDocument(Data[] datas)
      {
          var fixedDoc = new FixedDocument();
      
          foreach (var data in datas)
              fixedDoc.Pages.Add(CreatePage(new UserControl { DataContext = data }));
      
          return fixedDoc;
      }
      
      PageContent CreatePage(Control content)
      {
          var pageContent = new PageContent();
          var page = new FixedPage { Height = 11.69 * 96, Width = 8.27 * 96 };
          ((IAddChild)pageContent).AddChild(page);
          page.Children.Add(content);
      
          return pageContent;
      }
      

      פורסם במקור בפורום CODE613 ב15/10/2015 17:22 (+03:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      1
      • A מנותק
        A מנותק
        avr416
        כתב ב נערך לאחרונה על ידי
        #4

        דוד, תודה רבה רבה על ההשקעה!!
        במיוחד כשאתה עמוס כ"כ!!
        אני רואה שיש לי הרבה מה ללמוד :lol:
        אנסה את זה, ואדווח איך הולך. מקווה שלא אסתבך..

        פורסם במקור בפורום CODE613 ב15/10/2015 19:38 (+03:00)

        תגובה 1 תגובה אחרונה
        0
        • A מנותק
          A מנותק
          avr416
          כתב ב נערך לאחרונה על ידי
          #5

          למה כתבת כך:

          var page = new FixedPage { Height = 11.69 * 96, Width = 8.27 * 96 };
          

          כלומר, מדוע השתמש בכפל ולא הזנת ישירות את התוצאה? height = 1122.24 width = 793.92

          פורסם במקור בפורום CODE613 ב15/10/2015 20:51 (+03:00)

          תגובה 1 תגובה אחרונה
          0
          • M מנותק
            M מנותק
            magicode
            כתב ב נערך לאחרונה על ידי
            #6

            יש כלל ברזל בתיכנות. אפילו ארכיטקט יגיד לך. שצריך לשמור על הקריאות של הקוד אפילו על חשבון היעילות שלו.
            ובמיוחד פה שהיעילות זניחה לגמרי.

            ולמה זה קריאות כי הקוד פה מסביר את עצמו.

            ועוד משהו שאם מחר אתה רוצה לעשות פרמטר משתנה ל 96. יהיה לך יותר קל למצוא את זה ולבצע.

            פורסם במקור בפורום CODE613 ב15/10/2015 21:30 (+03:00)

            תגובה 1 תגובה אחרונה
            3
            • A מנותק
              A מנותק
              avr416
              כתב ב נערך לאחרונה על ידי
              #7

              ממש מוזר..
              הוא לא מזהה את האויביקטים של XpsDocument ו XpsDocumentWriter.
              אני מנסה להוסיף רפרנס ל: using.windows.xps
              כמו שמבואר פה כאן
              אבל אני לא מוצא שום ניימספייס כזה בחלון של addRefrence (ניסיתי גם ע"י חיפוש..)

              לאן הוא נעלם?? בלעה אותו האדמה?!?!

              פורסם במקור בפורום CODE613 ב16/10/2015 01:19 (+03:00)

              תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #8

                סליחה שכחתי לציין:
                System.Printing

                ולהבא תחפש בגוגל את שם המחלקה, כנס לMSDN ושם חפש את שם האסמבלי. שם הnamespace לא רלוונטי כי הוא בלתי תלוי בקבצי האסמבלי (אתה יכול לעשות באסמבלי משלך מרחב שמות בשם System בלי פוצה פה ומצפצף וזה אכן יחסוך לך using :)).

                הכפול 96 זה פשוט בשביל שיבינו איך הוקרץ המספר. בwpf המידות הם בDIPs שזה יחידות של 1/96 מאינץ. המידות של A4 הם 11.69 על 8.27 אינץ.

                פורסם במקור בפורום CODE613 ב18/10/2015 10:59 (+03:00)

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                1
                • A מנותק
                  A מנותק
                  avr416
                  כתב ב נערך לאחרונה על ידי
                  #9

                  הקוד שלך עובד מעולה!!
                  תודה רבה!!
                  אבל יש לי בעיה קטנה, משום מה הוא חותך לי את הצד הימני של הדף..
                  הוא לא מרשה לי להעלות קבצים עם סיומת של XPS אז אני מעלה אותו דחוס..
                  הנה הקובץ: Recipet1.zip

                  וזה הזאמל שכתבתי (הוא ארוך מאד אז הנה הקובץ שלו..)
                  PagePrintTruma.rar

                  תודה רבה!

                  פורסם במקור בפורום CODE613 ב19/10/2015 00:20 (+03:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #10

                    הוסף לUserControl הגדרת גובה ורוחב של A4:

                    Height="29.7cm" Width="21cm"
                    

                    את הDesignHeight וDesignWidth תוכל למחוק.

                    דווח אם זה לא עזר.

                    פורסם במקור בפורום CODE613 ב19/10/2015 10:53 (+03:00)

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    1
                    • A מנותק
                      A מנותק
                      avr416
                      כתב ב נערך לאחרונה על ידי
                      #11

                      עובד מעולה!!
                      תודה רבה!

                      פורסם במקור בפורום CODE613 ב19/10/2015 13:00 (+03:00)

                      תגובה 1 תגובה אחרונה
                      1

                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום