/// <summary> /// Set text of specific TextFrame /// </summary> /// <param name="FrameID">FrameID</param> /// <param name="Text">Text to set</param> public void SetTextFrame(string FrameID, string Text) { if (!FramesInfo.IsValidFrameID(FrameID)) { return; } TextFrame[] TF = TextFrames.ToArray(); for (int i = 0; i < TextFrames.Count - 1; i++) { if (TF[i].FrameID == FrameID) { TextFrames.RemoveAt(i); break; } } if (Text != "") { HaveTag = true; TextFrames.Add(FrameID, new TextFrame(FrameID, new FrameFlags(), Text, (StaticMethods.IsAscii(Text) ? TextEncodings.Ascii : _DefaultUnicodeEncoding), _Version.Minor, TStream.FS)); } }
private void ReadLayer() { Layers layers = m_doc.Layers; for (int layIndex = 1; layIndex <= layers.Count; layIndex++) { try { Console.WriteLine(layIndex); Layer layer = layers[layIndex]; if (layer.Name.Trim().ToLower().Equals("translate")) { m_xmlProcess.ProcessLayer(layIndex); TextFrames textFrames = layer.TextFrames; ReadTextFrames(textFrames); error = "0"; } } catch (Exception e) { CloseFile(); m_app.restartApp(); throw new Exception(); } } if (error == null) { error = "There is no layer named for translation "; } }
// Multiple values for text tags are separated by ';'. void AddTextFrame(string Key, string Value) { if (TextFrames.ContainsKey(Key)) { TextFrames[Key] += ";" + Value; } else { TextFrames.Add(Key, Value); } }
private void ReadGroupItems(GroupItems groupItems) { for (int groupItemIndex = 1; groupItemIndex <= groupItems.Count; groupItemIndex++) { GroupItem groupItem = groupItems[groupItemIndex]; m_xmlProcess.ProcessGroupItem(groupItemIndex); TextFrames textFrames = groupItem.TextFrames; ReadTextFrames(textFrames); error = "0"; } }
private void ReadTextFrames(TextFrames textFrames) { for (int textFrameIndex = 1; textFrameIndex <= textFrames.Count; textFrameIndex++) { TextFrame textFrame = textFrames[textFrameIndex]; m_xmlProcess.ProcessTextFrame(textFrameIndex); TextRange textRange = textFrame.TextRange; m_xmlProcess.ProcessTextRange(1); ReadParagraphs(textRange); } }
private void ReadTextFrames(TextFrames textFrames) { for (int textFrameIndex = 1; textFrameIndex <= textFrames.Count; textFrameIndex++) { TextFrame textFrame = textFrames[textFrameIndex]; //if (textFrame.Contents == "") continue; m_xmlProcess.ProcessTextFrame(textFrameIndex); //TextRanges textRanges = textFrame.TextRanges; TextRange textRange = textFrame.TextRange; ReadRangeContents(textRange); } }
void SetupSidebar() { if (sideBarMax > 0) { double maxWidth = 40; double height = GetPage(0).contentBounds.height; double topMargin = GetPage(0).contentBounds.top; double top; if (sideBarCount > sideBarMax) { Log("!! sideBarCount is bigger than sideBarMax"); } double spacing = (height - maxWidth) / (sideBarMax - 1); if (spacing > maxWidth) { spacing = maxWidth; } top = topMargin + spacing * (sideBarCount - 1); MasterSpread master = GetMaster("A-Master"); TextFrames tfs = master.TextFrames; foreach (TextFrame tf in tfs) { Bounds b = new Bounds(tf.GeometricBounds); if (tf.Paragraphs.Count > 0) { Paragraph p = (Paragraph)tf.Paragraphs[1]; if (((ParagraphStyle)p.AppliedParagraphStyle).Name == "SideBar") { //double h = b.height; b.top = top; b.height = maxWidth; tf.GeometricBounds = b.raw; } } } } }
private void ReadLayer() { Layers layers = m_doc.Layers; for (int layIndex = 1; layIndex <= layers.Count; layIndex++) { try { Layer layer = layers[layIndex]; string layerName = layer.Name.Trim().ToLower(); if (layerName.Equals("translation") || layerName.Equals("translate") || layerName.Equals("for translation")) { m_xmlProcess.ProcessLayer(layIndex); TextFrames textFrames = layer.TextFrames; ReadTextFrames(textFrames); error = "0"; // Sometimes some text is in GroupItems GroupItems groupItems = layer.GroupItems; ReadGroupItems(groupItems); } } catch (Exception e) { m_log.Log(e.ToString()); CloseFile(); m_app.restartApp(); throw new Exception(); } } if (error == null) { error = "There is no layer needed to be translated "; } }
/// <summary> /// Add Frame information to where it must store /// </summary> /// <param name="Data">FileStream contain Frame</param> /// <param name="FrameID">FrameID of frame</param> /// <param name="Length">Maximum available length to read</param> /// <param name="Flags">Flags of frame</param> private bool AddFrame(string FrameID, int Length, FrameFlags Flags, Stream FS) { // NOTE: All FrameIDs must be capital letters if (!FramesInfo.IsValidFrameID(FrameID)) { AddError(new ID3Exception("nonValid Frame found and dropped", FrameID, ExceptionLevels.Repaired)); return(false); } int IsText = FramesInfo.IsTextFrame(FrameID, _Version.Minor); if (IsText == 1) { TextFrame TempTextFrame = new TextFrame(FrameID, Flags, Length, FS); if (TempTextFrame.IsValid && !TextFrames.ContainsKey(FrameID)) { TextFrames.Add(FrameID, TempTextFrame); return(true); } return(false); } else if (IsText == 2) { UserTextFrame TempUserTextFrame = new UserTextFrame(FrameID, Flags, Length, FS); if (TempUserTextFrame.IsValid && FrameID != "TXXX" && !UserTextFrames.ContainsKey(FrameID)) { UserTextFrames.Add(FrameID, TempUserTextFrame); return(true); } return(false); } else if (FrameID == "LINK") { LinkFrame LF = new LinkFrame(FrameID, Flags, Length, FS); if (LF.IsValid && !LinkFrames.ContainsKey(FrameID)) { LinkFrames.Add(FrameID, LF); if (_LoadLinkedFrames) { LoadFrameFromFile(LF.FrameIdentifier, LF.URL); return(true); } } else { AddError(LF.Exception); } } Frame F = null; if (!FramesInfo.ExcludedList.Any(t => t == FrameID)) { FrameInfo Info = FramesInfo.GetFrame(FrameID); if (Info == null || Info.ClassType == null) { AddError(new ID3Exception("Unknown Frame found and dropped according to setting", FrameID, ExceptionLevels.Warning)); return(true); } try { F = Info.Constuctor(FrameID, Flags, Length, TStream.FS); } catch { } try { if (Info.IsSingle) { if (_SingleFrames.Contains(FrameID)) { _SingleFrames.Remove(FrameID); } _SingleFrames.Add(FrameID, F); return(true); } else { foreach (FrameCollectionBase Coll in _CollectionFrames.Values) { if (Coll.CollectionType == Info.ClassType) { Coll.Remove(F.FrameID); Coll.Add(F.FrameID, F); return(true); } } } AddError(new ID3Exception("ClassType not found in Collection list", FrameID, ExceptionLevels.Error)); } catch {} } return(false); }